【GPU_Server】 Google Cloud 플랫폼 - 적절한 conda 환경 Tensorflow, Keras 버전 맞추기
딥러닝을 위한 적절한 아나콘다 환경 셋팅하기
이전 게시물을 보고 오시는 것을 추천드립니다.
1. Tensorflow & Keras 버전 세팅 방법
- 참고자료
- 추천하는 3가지 가상환경 :
- tf113 : Tensorflow 1.13, Keras 2.2
- tf115 : Tensorflow 1.15, Keras 2.3
- tf_obj : Tensorflow 1.15, Keras 2.3 -> Tensorflow object dection API 사용하기 위한 Env
아래의 코드 참고할 것
$ conda create -n tf113 python=3.6 $ conda activate tf113 $ cd envs/tf113/lib/python3.6 -> python3.6 설치 $ cd ./site-packages -> 기본 package들이 설치되어 있다. $ cd ~/DLCV/data/util/ $ chmod +x *.sh $ ./install_tf113.sh (중간에 에러나오는거 무시 - 버전 맞춰주는 것) $ ps -ef | grep jupyter - jupyter lab 말고 /계정ID/anaconda3 jupyter PID $ kill -9 PID $ conda activate tf113 $ cd ~/ && ./start_jn.sh - jupyter의 목록에 conda 라는 목록이 추가된 것을 확인할 수 있다.
새로운 conda env를 사용해서 jupyter를 열고 싶으면 다음을 꼭 설치해야 한다.
# DLCV/blob/master/data/util/install_tf113.sh 참조 $ conda install -c conda-forge pycocotools -y $ conda install nb_conda -y # for multi jupyter notebook kernal $ pip install ipykernel $ python -m ipykernel install --user --name <Conda Eev Name>
- install_tf113.sh 내부에 있는 코드 중 $ conda install nb_conda -y 명령어를 통해서 콘다 환경들에게 별도로 jupyter를 따로 실행할 수 있게 해준다.
- 여러개의 conda 가상환경에서 Jupyter를 열 때. kernel을 골라달라고 창이 뜰 수도 있다. 이때 tf113을 잘 골라주면 된다. 자주 나오니까 각 버전에 맞는 kernel 환경을 선택해 주면 된다. 선택할 kernel 이름이 있는 이유는 install.sh부분에 ‘$ python -m ipykernel install –user –name tf113’이 있기 때문에 이름이 있는거다. env여서 이름이 뜨는게 아니라 커널 설정을 해줬기 때문에 이름이 뜨는 거다. (Jypyter에서 Python [conda env:tf113] 와 같은 노투븍 커널 셋팅을 할 수 있도록!)
- retinaNet에서 tf115를 사용하니까, 그때는 원래 띄어진 Jypyter를 죽이고 activate tf115 를 한 후 start_jn.sh를 실행한다.
2. 구글 클라우드 $300 무료 크레딧 효과적 사용법
- 결재 - 개요에 자주 들어가기
- 결제 - 예산 및 알림 - 알림 설정하기
- 결제 - 거래 - 자주 들어가서 확인하기
- 300 GB storage PD capacity 한달에 14,000원 계속 나간다.
- CPU core, Static ip(고정 ip) charging 등 돈이 추가적으로 많이 들어간다.
- GPU 서버를 항상 내리는 습관을 가지도록 하자. (VM instance 중지 및 정지)
- GPU 사용량, Setup 하는 자세를 배우는 것도 매우 필요하다.
- 구글 클라우드 서비스 모두 삭제하는 방법
- instance 중지 - 삭제 - 서버 및 storage 비용은 안나간다
- VPC network - 외부 IP 주소 - 고정 주소 해제 (이것도 매달 8천원 나간다.. )
- Strage - 브라우저 - object storage 삭제
- 프로젝트 설정 - 종료 (모든 결제 및 트래픽 전달 중지 된다) 7 결제 자주 확인하기
3. Cloud 사용시 주의사항 및 Object Storage 설정
- 오류 해결 방법
- GPU resources 부족 = 기다려라. 하루정도 기다리면 문제 해결 가능
- 심각한 문제가 발생하면 VM instance 지우고 다시 설치 및 Setup하는 자세 및 습관을 들여라.
- Object Storage 설정하기
- 작업을 편하기 하기 위해서 설정해두면 편리하다.
- storage - 브라우저 - 버킷 생성 - 단일 region 및 설정 - default 설정 - 저장
접근 인증을 받아야 한다. - server에서 object storage 에 붙기위해서 몇가지 설정이 필요.
gsutil : google cloud와 연동되어 쉽게 이용할 수 있는 터미널 명령어 $ gsutil ls gs://my_budcker_Name - 아직 권한이 없는 것을 확인할 수 있다.
object storage 세부정보 - 권한 - 구성원추가 - 계정이메일 추가, 역할 Storage 저장소 관리자, 저장 - 이제 storage 에 등록을 했다. 하지만 server 인증을 받아야 한다.
$ gcloud auth login - Yes - link copy - 웹 도메인에 paste - 로그인 및 코드 복사 - SSH에서 Enter verification code $ gsutil ls gs://my_budcker_Name -> 이제 여기 접근 가능 $ qsutil cp <file Name> gs://my_budcker_Name -> 이런식으로 bucket(object storage)에 접근 가능
- winSCP를 사용해서 Putty와 연동 및 파일 업로드 가능
- winSCP 다운로드 및 설치
- 로그인 - 도구 - 가져오기 - Putty 원하는 환경 선택
- 파일 업로드가 매우 쉽게 가능
4. Colab을 이용한 실습 환경 구축하기
- 런타임 유형 - GPU 설정 주의
- tensorflow 1.13에서 동작이 안되므로, tensorflow 1.15 설치하기.
- % cd, ! terminal command 와 같이 %와 !를 적절히 사용해라.
- google drive mount 해서 사용하기