2016年10月30日日曜日

ec2にnvidia dockerを導入しtensorflowを動かす手順


はじめに


 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 件のコメント:

コメントを投稿