表題の通りです。ec2のgpuインスタンスでcaffeを使うのに、docker imageでcaffeを用意するとしても、ホストにもCUDAが必要なのでその構築をした。
- ami: ami-ddfefbed
- docker image: https://registry.hub.docker.com/u/drunkar/cuda-caffe-lstm-anaconda/
どちらも以下の手順で自分で作ることが出来る。
cudaインストール済みのubuntu ami
基本的に下記ブログ記事の手順と同じ。ただしCUDAのバージョンは最新にしてる。
http://tleyden.github.io/blog/2014/10/25/cuda-6-dot-5-on-aws-gpu-instance-running-ubuntu-14-dot-04/
# superuserになる
sudo su -
apt-get update && apt-get install -y build-essential wget linux-image-extra-virtual
reboot
vi /etc/modprobe.d/blacklist-nouveau.conf
# 下記を書いて保存
> blacklist nouveau
> blacklist lbm-nouveau
> options nouveau modeset=0
> alias nouveau off
> alias lbm-nouveau off
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
update-initramfs -u
reboot
apt-get install -y linux-source linux-headers-$(uname -r)
export CUDA_MAJOR=7.0
export CUDA_VERSION=7.0.28
export CUDA_MAJOR_U=7_0
cd /tmp && wget http://developer.download.nvidia.com/compute/cuda/${CUDA_MAJOR_U}/Prod/local_installers/cuda_${CUDA_VERSION}_linux.run && chmod +x cuda_*_linux.run && ./cuda_*_linux.run -extract=`pwd` && ./NVIDIA-Linux-x86_64-*.run -s
modprobe nvidia
./cuda-linux64-rel-*.run
./cuda-samples-linux-*.run
# 確認 (これをしないと/dev/以下にデバイスファイルが出てこない)
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
make
./deviceQuery
# docker install
wget -qO- https://get.docker.com/ | sh
caffe(RNN fork) + anaconda python + pycaffeのdocker image
https://github.com/Drunkar/dockerfiles/tree/master/cuda-caffe-lstm-anaconda
- RNNのフォークバージョン( https://github.com/jeffdonahue/caffe/tree/recurrent )
- docker run時にはipython notebookを起動させている
起動手順
- 上記AMIを使ってインスタンス起動
- gpuの有効化:
- /usr/local/cuda/samples/1_Utilities/deviceQuery/deviceQuery
- ls -la /dev | grep nvidia でグラボが表示されるはず
- docker imageの起動:
- DOCKER_NVIDIA_DEVICES=”–device /dev/nvidia0:/dev/nvidia0 –device /dev/nvidiactl:/dev/nvidiactl –device /dev/nvidia-uvm:/dev/nvidia-uvm”
- sudo docker run –name caffe -v $PWD:/notebook -p 8888:8888 -d $DOCKER_NVIDIA_DEVICES drunkar/cuda-caffe-lstm-anaconda
で8888ポートにアクセスすればipython notebookが開ける
直接ログインして弄りたいなら sudo docker exec -it <コンテナ名> bash でおk。
これでようやくLSTMいじれる。ジョイナス!
コメント