概略
手元で画像系の機械学習を動かしていたが、スペック的にかなり辛くなったのでAWSに頼ることに。
AWSでCUDA Digits(caffeのWebフロント)を動作させる方法に関するメモ書き。
EC2の準備
スポットインスタンスでg2.2xlargeなインスタンスを用意。以下適当にスクショ。
$0.8~$0.9/h
程度なのでそれなりに安い気がする。
ただ、スポットインスタンスで学習中に消された時の悲しみは半端無いので、お金に余裕があるなら普通にインスタンスを建てるのもありかも。
ちなみにDigits 3.0は80番ポートを利用している模様。もちろん変更は可能。
ドライバのインストール & Digitsのインストール
基本的に参考文献の引用。
参考文献: http://www.learnopencv.com/nvidia-digits-3-on-ec2/
ドライバのインストール
以下のコマンドを実行してNVIDIAドライバ等をインストール。
sudo apt-get update && sudo apt-get -y upgrade
sudo apt-get install -y linux-image-extra-`uname -r`
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-361 nvidia-settings
nvidia-361
の部分は最新のドライバに合わせれば良い気がする。
EC2のGPUに関する仕様は以下を参照。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using_cluster_computing.html
おまじない?
上記ドライバのみでは上手く動かなかった。
具体的には以下の様なエラーが出て、学習をはじめられない。
ERROR: Check failed: error == cudaSuccess (30 vs. 0) unknown error
調べていると以下の様なissuesが引っかかった。
https://github.com/NVIDIA/DIGITS/issues/799
曰く以下の様に足りないものを入れたら良いらしい。
sudo apt-get install nvidia-modprobe
Digitsのインストール
CUDA_REPO_PKG=cuda-repo-ubuntu1404_7.5-18_amd64.deb &&
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/$CUDA_REPO_PKG &&
sudo dpkg -i $CUDA_REPO_PKG
ML_REPO_PKG=nvidia-machine-learning-repo_4.0-2_amd64.deb &&
wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/$ML_REPO_PKG &&
sudo dpkg -i $ML_REPO_PKG
sudo apt-get update
sudo apt-get install digits
ポート番号を変更したい場合は以下のコマンドを実行。
sudo dpkg-reconfigure digits
動作確認
簡単に動くから本当に良い話。