Dockerノート:TensorFlowのインストール
前言
次の手順に従って、DockerでTensorFlowをインストールします. Dockerドキュメントの説明に従ってコンピュータにDockerをインストールします. (オプション)dockerというLinuxグループを作成し、Dockerドキュメントで説明したようにsudoを持たないコンテナの起動をサポートします.(この手順を実行しない場合は、Dockerを呼び出すたびにsudoを使用する必要があります.) GPU対応のTensorFlowバージョンをインストールするには、まずnvidia-docker(githubに格納)をインストールする必要があります. TensorFlowバイナリイメージを含むDockerコンテナを起動します.
CPUのみ対応
CPUのみをサポートするDockerコンテナを起動するには、次の形式のコマンドを入力します.
次のようになります. として指定
たとえば、次のコマンドはDockerコンテナで最新のTensorFlow CPUバイナリイメージを起動します.このコンテナを使用してshellでTensorFlowプログラムを実行できます.
次のコマンドは、Dockerコンテナで最新のTensorFlow CPUバイナリイメージを起動することもできます.ただし、このDockerコンテナでは、Jupyter NotebookでTensorFlowプログラムを実行できます.
Dockerは、TensorFlowバイナリイメージを初めて起動したときに、このイメージをダウンロードします.
GPUサポート
GPU対応のTensorFlowをインストールする前に、システムがすべてのNVIDIAソフトウェアの要件を満たしていることを確認してください.Nvidia GPUをサポートするDockerコンテナを起動するには、次の形式のコマンドを入力します.
次のようになります.
-p hostPort:containerPortはオプションです.shellからTensorFlowプログラムを実行する場合は、このオプションを省略します.JupiterノートブックからTensorFlowプログラムを実行する場合は、hostPortとcontainerPortを8888に設定します.-TensorFlowGPUImage Dockerコンテナを指定します.次の値を指定する必要があります:1.
次のコマンドは、Dockerコンテナで最新のTensorFlow GPUバイナリイメージを起動することもできます.このDockerコンテナでは、Jupyter NotebookでTensorFlowプログラムを実行できます.
次のコマンドは、旧版TensorFlow(0.12.1)をインストールします.
インストールの確認
TensorFlowのインストールを確認するには、次の手順に従います.1.環境がTensorFlowプログラムを実行する準備ができていることを確認します.2.短いTensorFlowプログラムを実行します.
Dockerコンテナを起動してbashを実行
短いTensorFlowプログラムを実行
shellからPythonを呼び出します.次のようにします.
Pythonインタラクティブshellに、次の簡単なプログラムコードを入力します.
システムが次のように出力した場合は、TensorFlowプログラムの作成を開始できます.
次の手順に従って、DockerでTensorFlowをインストールします.
CPUのみ対応
CPUのみをサポートするDockerコンテナを起動するには、次の形式のコマンドを入力します.
$ docker run -it -p hostPort:containerPort TensorFlowCPUImage
次のようになります.
-p hostPort:containerPort
はオプションです.shell
からTensorFlowプログラムを実行する場合は、このオプションを省略します.Jupiter
ノートパソコンからTensorFlowプログラムを実行する場合は、hostPort
とcontainerPort
を8888
に設定します.容器内でTensorBoard
を実行する場合は、-pタグを追加し、hostPort
とcontainerPort
を6006
に設定します.TensorFlowCPUImage
は必須です.Dockerコンテナを表します.次の値を指定します.tensorflow/tensorflow
:TensorFlow CPUバイナリイメージ.tensorflow/tensorflow:latest-devel
:最新のTensorFlow CPUバイナリイメージおよびソースコード.tensorflow/tensorflow:version
:指定されたTensorFlow CPUバイナリイメージバージョン(1.1.0 rc 1など).tensorflow/tensorflow:version-devel
:指定されたTensorFlow GPUバイナリイメージバージョン(1.1.0 rc 1など)およびソースコード.tensorflow/tensorflow:latest-py3
:python 3 たとえば、次のコマンドはDockerコンテナで最新のTensorFlow CPUバイナリイメージを起動します.このコンテナを使用してshellでTensorFlowプログラムを実行できます.
$docker run -it tensorflow/tensorflow bash
次のコマンドは、Dockerコンテナで最新のTensorFlow CPUバイナリイメージを起動することもできます.ただし、このDockerコンテナでは、Jupyter NotebookでTensorFlowプログラムを実行できます.
$ docker run -it -p 8888:8888 tensorflow/tensorflow
Dockerは、TensorFlowバイナリイメージを初めて起動したときに、このイメージをダウンロードします.
GPUサポート
GPU対応のTensorFlowをインストールする前に、システムがすべてのNVIDIAソフトウェアの要件を満たしていることを確認してください.Nvidia GPUをサポートするDockerコンテナを起動するには、次の形式のコマンドを入力します.
$ nvidia-docker run -it -p hostPort:containerPort TensorFlowGPUImage
次のようになります.
-p hostPort:containerPortはオプションです.shellからTensorFlowプログラムを実行する場合は、このオプションを省略します.JupiterノートブックからTensorFlowプログラムを実行する場合は、hostPortとcontainerPortを8888に設定します.-TensorFlowGPUImage Dockerコンテナを指定します.次の値を指定する必要があります:1.
tensorflow/tensorflow:latest-gpu
:最新のTensorFlow GPUバイナリイメージ.2.tensorflow/tensorflow:latest-devel-gpu
:最新のTensorFlow GPUバイナリイメージおよびソースコード.3.tensorflow/tensorflow:version-gpu
:指定されたTensorFlow GPUバイナリイメージバージョン(0.12.1など).4.tensorflow/tensorflow:version-devel-gpu
:指定されたTensorFlow GPUバイナリイメージバージョン(例えば0.12.1)およびソースコード.5.tensorflow/tensorflow:latest-gpu-py3
:python 3として指定します.最新(latest)のバージョンをインストールすることをお勧めします.たとえば、次のコマンドはDockerコンテナで最新のTensorFlow GPUバイナリイメージを起動します.このコンテナを使用してshellでTensorFlowプログラムを実行できます.Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-d, --detach=false , false
-i, --interactive=false STDIN,
-t, --tty=false tty , , false
-u, --user=""
-a, --attach=[] ( docker run -d )
-w, --workdir=""
-c, --cpu-shares=0 CPU , CPU
-e, --env=[] ,
-m, --memory=""
-P, --publish-all=false
-p, --publish=[]
-h, --hostname=""
-v, --volume=[] ,
--volumes-from=[] ,
--cap-add=[] , :http://linux.die.net/man/7/capabilities
--cap-drop=[] , :http://linux.die.net/man/7/capabilities
--cidfile="" , PID ,
--cpuset="" CPU, CPU
--device=[] ,
--dns=[] dns
--dns-search=[] dns , /etc/resolv.conf
--entrypoint="" image
--env-file=[] ,
--expose=[] ,
--link=[] , IP、env
--lxc-conf=[] , --exec-driver=lxc
--name="" , ,links
--net="bridge" :
bridge docker daemon
host //
container:NAME_or_ID >// , IP PORT
none ( --net=bridge),
--privileged=false , capabilities
--restart="no" :
no:
on-failure: ( )
always:
--rm=false ( docker run -d )
--sig-proxy=true , SIGCHLD、SIGSTOP SIGKILL
$ nvidia-docker run -it tensorflow/tensorflow:latest-gpu bash
次のコマンドは、Dockerコンテナで最新のTensorFlow GPUバイナリイメージを起動することもできます.このDockerコンテナでは、Jupyter NotebookでTensorFlowプログラムを実行できます.
$ nvidia-docker run -it -p 8888:8888 tensorflow/tensorflow:latest-gpu
次のコマンドは、旧版TensorFlow(0.12.1)をインストールします.
$ nvidia-docker run -it -p 8888:8888 tensorflow/tensorflow:0.12.1-gpu
インストールの確認
TensorFlowのインストールを確認するには、次の手順に従います.1.環境がTensorFlowプログラムを実行する準備ができていることを確認します.2.短いTensorFlowプログラムを実行します.
Dockerコンテナを起動してbashを実行
$ docker run -it tensorflow/tensorflow bash
短いTensorFlowプログラムを実行
shellからPythonを呼び出します.次のようにします.
$ python
Pythonインタラクティブshellに、次の簡単なプログラムコードを入力します.
# Python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
システムが次のように出力した場合は、TensorFlowプログラムの作成を開始できます.
Hello, TensorFlow!