AWS EC2의 스팟 인스턴스에서 GPU 버전 tensorflow를 실행합니다.
5324 단어 AWS파이썬TensorFlow기계 학습GPU
EC2를 저렴하게 사용하려면 스팟 인스턴스 ♪라고 생각했지만, 어떻게 스팟 인스턴스라고 CUDA 등이 설정된 NVIDIA의 AMI를 선택할 수 없잖아요 로 환경 구축하지 않으면 안 되는 것 같다. 하지만 1회 환경 만들어 버리면 재이용은 가능.
그러므로 GPU 버전 tensorflow를 움직일 때까지의 순서를 정리합니다. 구축하는 환경은
우분투 16.04 LTS + CUDA + cuDNN + python3.6 + tensorflow-gpu
입니다.
EC2 인스턴스 생성
EC2 콘솔에서 스팟 인스턴스 요청에서 인스턴스를 만듭니다.
인스턴스 유형은 p2.8xlarge 또는 p2.16xlarge 일 수 있지만 설정은 p2.large에서 수행 할 수 있으며 학습 중에 8xlarge 또는 16xlarge로 전환 할 수 있습니다.
EC2 인스턴스가 시작되면 각 모듈을 최신 버전으로 업그레이드하고 최소한의 개발 환경을 설치하십시오.
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install libffi-dev libssl-dev gcc make
pyenv를 사용하여 파이썬 환경 설정
먼저 pyenv를 git clone합니다.
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
.bashrc에 다음을 추가하십시오.
PYENV_ROOT=$HOME/.pyenv
PATH=$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH
eval "$(pyenv init -)"
편집 한 bashrc를로드하십시오.
$ source ~/.bashrc
다음 파이썬 설치. 이번에는 파이썬 3.6을 넣어.
$ pyenv install --list|grep 3.6
3.3.6
3.6.0
3.6-dev
3.6.1
3.6.2rc1
$ pyenv install 3.6.1
$ pyenv global 3.6.1
$ which pip3
/home/ubuntu/.pyenv/shims/pip3 # pyenvが使われているのを確認
$ pip3 install aws # ついでに入れておく
CUDA 설치
CUDA 다운로드 사이트에서 deb 파일의 다운로드 대상을 찾으십시오.
URL을 알면 wget으로 가져와 설치하십시오.
$ wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64-deb
$ sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64-deb
$ sudo apt-get update
$ sudo apt-get install cuda
cuDNN 설치
cuDNN 다운로드 사이트에서 cuDNN v6.0 Library for Linux를 가져 와서 설치하면 좋지만 사용자 등록 후 로그인 페이지에서만 다운로드 할 수 있으며 wget에서 URL 지정으로 쉽게 다운로드 할 수 없습니다.
한 번 mac에 저장하고 scp로 EC2로 전송하기로 결정했습니다.
# scpでローカルのMacからEC2にdevファイルをコピー. pemファイルのパスとIPは適宜変更.
$ scp -i aws.pem ~/Downloads/cudnn-8.0-linux-x64-v6.0.tgz [email protected]:~/
$ tar xzf cudnn-8.0-linux-x64-v6.0.tgz
$ sudo cp -a cuda/lib64/* /usr/local/lib/
$ sudo cp -a cuda/include/* /usr/local/include/
$ sudo ldconfig
tensorflow 설치
CPU 버전의 tensorflow가 들어있는 경우는 uninstall하고 나서 GPU 버전을 넣는다. 다음에 자주 사용하는 라이브러리도 넣어 둔다.
$ sudo apt-get install libcupti-dev
$ pip3 uninstall tensorflow
$ pip3 install tensorflow-gpu
$ pip3 install keras sklearn matplotlib scipy librosa
샘플을 움직여 동작 확인
이번에는 keras의 mnist-mlp로 동작 확인. git clone에서 샘플을 가져와 실행.
$ git clone https://github.com/fchollet/keras.git
$ cd keras/examples
$ $ python mnist_mlp.py
Using TensorFlow backend.
...
Test loss: 0.118156189926
Test accuracy: 0.9811
$
움직였다
Reference
이 문제에 관하여(AWS EC2의 스팟 인스턴스에서 GPU 버전 tensorflow를 실행합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ash8h/items/b801931245ed034934ab텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)