はじめに
ec2にnvidia dockerを導入しtensorflowを動かす手順を示す。
使用したインスタンス
ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-20160114.5 - ami-a21529cc
システムのアップデート
gccなどのインストール
nouveauをブラックリストに追加
以下を/etc/modprobe.d/blacklist-nouveau.confに記載する。 以下を/etc/modprobe.d/nouveau-kms.confに記載する。 以下で上記の設定を反映させる。
再起動
nvidia driver のインストール
参照先 [追記:2016/12/04] 上記のドライバのバージョンは古いので以下をインストールした方が良い。
再起動
dockerのインストール
ここを見てdockerを入れる。下記の通りではなくその時点で指定されているバージョンを指定する。 logout/loginすることでusermodeの変更が反映され、sudoなしでdockerコマンドを使えるようになる。
[追記:2016/12/04] docker.listに記載する内容は14.04と16.04とで異なることに注意する。ここを参照のこと。
dockerの動作確認
nvidia dockerのインストール
nividia-dockerは、dockerのプラグインである。これを入れた後はdockerではなくnvidia-dockerを使う。 ここを見て、その時点で指定されているバージョンを指定する。
nvidia dockerのテスト
[引用] 「NVIDIA Dockerは、NVIDIAが開発しているDockerプラグインです。 Dockerホスト側にNVIDIA GPUドライバを持たせ、 Dockerコンテナ側にCUDA Toolkit(+cuDNN)を持たせるという明確な役割分担により、 同一ホスト上の複数コンテナでバージョンの異なるCUDA Toolkitを柔軟に組み合わせられます。 さらに、NVIDIA Docker用に事前ビルドされたcuDNN入りDockerイメージを利用すると、 NVIDIAへの開発者登録無しに(!)cuDNNライブラリを利用できます」 引用元
tensorflow入りのimageの導入
tensorflowを手動でインストールする手間を省くことができる。以下の3つを試みた。 最初の2つは、最新のtensorflowがインストールされた同じIMAGE IDを持つimageをインストールする。 このimageから作ったcontainer内でtensorflowの計算を実行すると以下のエラーが出る。 正しく動いたのは1つ前のバージョンを持つ3目である。この時点での状態は以下の通り。
tensorflow入りのimageの動作確認
ここの項目「AWS GPU TensorFlow Docker」を見て 以下を実行した。
- docker containerに入る。 /notebookの直下に入ることになる。
- container内のシステムのアップデート - ソースを取ってくる。 - 実行 - 以下でtensorboard を起動 [your url]:6006で接続する。[your url]:8888とすればjupyterに接続できる。
caffe入りimageの導入
以下を実行してcaffe+cuda入りのimageをインストールする。 確認。 8.0もあるがこちらはmnistの実行中に以下が出て動作しなかった。 [追記:2016/12/04] 上記で指摘したように、nvidiaのドライバを新しいバージョンのものにすれば8.0は動きます。 containerを作り起動する。 containerに入る。 サンプルとして提供されているmnistで動作確認を行った。
参照サイト
[nvidia docker/tensorflow]
http://www.muo.jp/2016/05/nvidia-docker-tensorflow.html http://qiita.com/masafumi_miya/items/8263a25642d65a0c4a20 https://github.com/fluxcapacitor/pipeline/wiki/AWS-GPU-TensorFlow-Dock
[docker]
https://docs.docker.com/cs-engine/install/#/install-on-ubuntu-14-04-lts
[nvidia docker]
https://github.com/NVIDIA/nvidia-docker#plugin-install-recommended
[docker/tensorflow]
http://www.kabuku.co.jp/developers/errors-with-tensorflow-on-gpu
[docker/nvidia docker/tensorflow]
https://www.tensorflow.org/versions/master/get_started/os_setup.html#docker-installation
[ec2/tensorflow]
https://gist.github.com/erikbern/78ba519b97b440e10640
0 件のコメント:
コメントを投稿