목록전체 글 (41)
강
Google TPU의 사용률이 어떻게 되는 지 체크하는 방법에 대해 소개한다. Gcloud 설정 우선 현재 환경에 gcloud가 설치되어 있어야 한다. 환경 설정을 하지 않았다면 아래의 링크에 포스팅 해두었으니 참고바란다. https://manchann.tistory.com/24 Cloud-tpu-profiler 설치 pip install cloud-tpu-profiler 사용률 확인 TPU 작업을 실행한 후 따로 터미널을 켜서 해당 명령어를 입력한다. capture_tpu_profile --tpu="TPU 이름" --monitoring_level=2 --num_queries 10000 tpu 옵션에는 생성한 google tpu의 이름을 넣어 connect가 이루어지도록 한다. monitoring_lev..
문제 발견 최근 맥북이 조금씩 느려지는 것 같아 다양한 원인을 찾던 중 맥북의 저장공간을 확인해 보았다. 사실 지금은 위의 캡쳐본은 어느정도 정리를 하고 난 후여서 44GB이지만, 당시 내 맥북에는 100GB가 넘는 공간을 차지하고 있었다. 맥북 저장 공간 관리 앱들을 여러개 사용해 본 결과 최근에 내 mac에 설치한 Docker가 64GB나 시스템 데이터 저장 공간을 먹고 있었다. Docker.raw reserving too much size · Issue #2297 · docker/for-mac Expected behavior Docker.raw should not grow much larger than the space used by docker containers, images, volumes. ..
문제 직면 람다에서 주기적으로 web에 request요청을 보내야 하는 작업을 해야했다. 기존에 python3.7 버전에서 람다를 즐겨 사용했던 나는 람다에서 리눅스 커맨드를 실행하는 방법으로 작업을 진행하려 했었다. 예시로 import os def lambda_handler(event,context): os.system("curl https://naver.com") python 내장 라이브러리인 os를 이용하여 람다에서 curl 명령어를 실행하려고 했었다. 하지만 어째서인지 아래와 같은 에러가 발생했다. bin/sh: curl: command not found 현재 람다가 사용하는 리눅스에 curl 명령어가 없다는 메세지였다. Stackoverflow를 통해 조금 더 공부해 보니, python3.7까지..
문제 직면 TPU로 학습을 하기 위해서 TFRecord로 된 Train Imagenet 데이터셋을 GCS에 올려야 했다. 따라서 gcloud를 이용하여 다음의 코드로 업로드를 시도했다. gsutil cp validation-00000-of-00001 gs://[내 버킷이름]/tf-record/train 하지만 다음과 같은 메세지를 받았다. Copying file://validation-00000-of-00001 [Content-Type=application/octet-stream]... ==> NOTE: You are uploading one or more large file(s), which would run significantly faster if you enable parallel composit..
AWS S3에 있는 Imagenet validation dataset 50000개를 가지고 추론 작업을 해보고 있었다. 작업을 위한 코드는 다음과 같다. img = read_image_from_s3(file) # s3에서 image를 가져오는 함수 img = img.resize((224, 224), Image.ANTIALIAS) # file의 가로, 세로를 224x224로 resize img = np.array(img) # 이미지를 numpy type으로 변경 img = img.reshape((1, img.shape[0], img.shape[1], img.shape[2])) # batch size를 추가 위의 코드를 이미지의 개수만큼 반복을 하여 image 전처리를 진행한다. 정상적으로 진행 되는 이미지..
문제 인식 python 작업중 numpy로 된 값들을 소수점 4자리까지만 자르고 numpy가 아닌 list로 바꾸었을 때 다음과 같이 의도하지 않은 결과값을 얻었다. 빨간 박스 값 중 위의 값이 numpy이고 아래의 값이 일반적인 python list의 값이다. 보이는 것과 같이 list로 변환했더니 소수점 5자리 이상의 값들이 생김을 확인했다. 이 문제는 python list의 float와 numpy의 float type를 python에서 내부적으로 다르게 취급하여 발생하는 문제였다. 따라서 list로 변환했을 때 추가적으로 소수점값이 붙는 것이였다. 해결 방안 numpy의 dtype을 찍어보니 기본적으로 numpy.float32형임을 확인했다. 하지만 python에서는 현재 numpy.float64버..
pip로 tensorflow를 설치하려는데 자꾸만 Killed가 난다. 이유를 알아보니 내가 RAM이 작은 인스턴스를 사용하여 pip install을 하면서 cache를 담을 RAM 공간이 부족하여 중간에 프로세스가 Killed된 것이였다. 해결 방안 RAM 용량이 충분한 인스턴스로 바꾸는 것도 방법이겠지만 아래와 같이 옵션을 추가하여 해결할 수도 있다. pip install tensorflow --no-cache-dir 참조 https://stackoverflow.com/questions/30550235/pip-install-killed
AWS가 익숙한 나는 내 로컬 환경의 파일,폴더와 S3를 CLI로 업로드, 다운로드 한다. GCP에서도 딥러닝 작업을 위해 모델을 GCP의 Cloud Storage Bucket(GCS)에 올려두어야 하는 일이 생겼고 비슷하게 작업을 진행하고자 한다. 사전 작업 GCP CLI를 사용하려면 gcloud 관련 설정을 해주어야 한다. 관련하여 블로그에 글을 업로드 해두었으니 참고 바란다. gcloud 초기 설정 https://manchann.tistory.com/24 업로드, 다운로드 gsutil cp [내 환경의 파일] gs://[업로드할 버킷 경로] gcloud 환경설정을 하면 gsutil이라는 명령어로 Cloud Storage Bucket에 업로드를 할 수 있다. 이때 AWS와는 다르게 콘솔창에서 복사를 ..