hamayuzinの日記

エンジニアとかデータサイエンティストとかやってます。あの時 あれやってたな的な備忘録にできれば。

【まじ簡単】awsのg2インスタンスで、GPUを使ってkerasを動かす

Kerasでモデルの学習を行っていると、時間だけを浪費している瞬間がどうしてもでてくる。 そこで、AWSのg2インスタンスで、GPUを使って効率化を図った

今回は、GPUを使うための環境設定と、kerasのインストールを行う

AWS g2.2xlergeの立ち上げ

kerasのバックエンドにtensor flowを使う。 どうやらubuntsuを前提にしているので、ubuntshuを選択する どうせ容量はいっぱい使うであろうということで、30GB

python系を整える

  • ログインする
    • ubuntsuなので、ec2-userではなく、ubuntsu であることに注意
    • ssh -i ./.ssh/morris.pem ubuntu@ip address
  • pythonをいれる(pyenvを使用)
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libffi-dev libssl-dev
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
vim .bashrc

下記追記

export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH
eval "$(pyenv init -)"
source .bashrc
pyenv install 好きなの
pyenv global 好きなの
pip install --upgrade pip
pip install aws
pip install tensorflow-gpu
pip install keras

GPU周りを整える

https://developer.nvidia.com/cuda-downloads 上記からファイルをダウンロードして、SCPコマンドで、ホームディレクトリにあげる

sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
echo -e "\n## CUDA and cuDNN paths"  >> ~/.bashrc
echo 'export PATH=/usr/local/cuda-8.0/bin:${PATH}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:${LD_LIBRARY_PATH}' >> ~/.bashrc
source ~/.bashrc

https://developer.nvidia.com/rdp/cudnn-download 上記からファイルをダウンロードして、SCPコマンドで、ホームディレクトリにあげる

tar xzvf cudnn-8.0-linux-x64-v5.1.tgz 
sudo cp -a cuda/lib64/* /usr/local/cuda-8.0/lib64/
sudo cp -a cuda/include/* /usr/local/cuda-8.0/include/
sudo ldconfig

これで動く