2017年5月30日火曜日

GPU版のTensorFlow r1.1 をNVIDIA Docker上にインストールした。(Install the TensorFlow r1.1 of GPU version on the NVIDIA Docker)

TensorFlowのバージョンTag

はじめに

Caffe をベースとした新たなアルゴリズムのインストールに支障がでたため、いま流行りのTensorFlowを試してみることにした。
githubをみると、r1.1が新しそうなので、r1.1のソース一式ダウンロードし、展開した。

展開したフォルダーの tensorflow/tools/docker フォルダーに、ドッカーファイルが格納されている。今回は、Dockerfile.gpu を使用し、Docker Imageを作成した。


Dockerfile.gpu 内容のメモ

・fileの中を見てみると、ubuntu 16.04 と CUDA 8.0、 cuDNN 5 をベースにしている

  FROM nvidia/cuda:8.0-cudnn5-devel-ubuntu16.04

・Jupyter notebook と TensorBoard 用にそれぞれ8888、 6666 ポートを使用するように設定されている。

・Dockerfileの最後の行にかかれている
  CMD ["/run_jupyter.sh", "--allow-root"]
は削除したほうがよい。

Dcokerコンテナ起動後、この記述のため、他のコマンドを試すために、いちいちJupyter notebookを殺さないといけない。

変更点

 tensorflowのGPU版のインストールは、PIPを使用し、下記のコマンドを実行する用に修正した。
オリジナルのままでは、バージョンのところが0になっている。

RUN pip --no-cache-dir install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.1.0-cp27-none-linux_x86_64.whl

Docker Build

ビルドは以下のコマンドで行う。

docker build -t hoge/tensorflow_r11 -f Dockerfile.gpu .

ビルド時間は記録していなかった。

その他

このTensorFlowをベースに他のアルゴリズムを試すために、

apt update && apt install -y --no-install-recommends libopencv-dev python-tk python-opencv

を追加したほうがよい。


 .whlでノーマル版をインストールしているので、実行時にCPUの最適化が利用できないとの警告が多数表示される。

>>> sess = tf.Session()
2017-05-31 13:44:43.467055: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-05-31 13:44:43.467078: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-05-31 13:44:43.467087: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-05-31 13:44:43.467095: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-05-31 13:44:43.467102: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.



0 件のコメント:

コメントを投稿