- 投稿日:2019-11-25T04:28:36+09:00
Tensorflow Dockerでjupyter notebookを使う
docker runで起動
公式サイトにあるように、jupyterのタグが付いたイメージをpullして、下記のようにrunすれば、jupyter notebookが起動する。
$ docker run -it -p 8888:8888 tensorflow/tensorflow:nightly-py3-jupyterホストのウェブブラウザで
http://127.0.0.1:8888/?token=...
を開く。
/tf
がルートとして開く。コンテナ内で bash シェル セッションを開始後に起動
コンテナ内で bash シェル セッションを開始する。
$ docker run -it -p 8888:8888 tensorflow/tensorflow:nightly-py3-jupyter bashコンテナ内で下記のコマンドを実行して、jupyter notebookが起動する。
# jupyter notebook --port 8888 --ip=0.0.0.0 --allow-rootホストのウェブブラウザで
http://127.0.0.1:8888/?token=...
を開く。
コンテナ内の任意のディレクトリをルートとして、jupyter notebookが起動することができる。(上の例では、jupyter付きのイメージを使っているが、jupyterなしのイメージを起動後にpipで入れた場合でも可能。)
参考
https://qiita.com/tand826/items/0c478bf63ead75427782
https://qiita.com/ciela/items/0e0392f600c92b93d7c6
- 投稿日:2019-11-25T01:34:53+09:00
Tensorflow(GPU) Docker環境構築
Tensorflow(GPU)のDocker環境構築に関する備忘録。
環境
Ubuntu 18.04
CPU: Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
GPU: GeForce GTX 1080Tensorflow Dockerの要件を確認
https://www.tensorflow.org/install/docker?hl=ja#tensorflow_docker_requirements
Docker 19.03のインストール
https://docs.docker.com/install/linux/docker-ce/debian/
NVIDIA Container Toolkitのインストール
https://github.com/NVIDIA/nvidia-docker#ubuntu-16041804-debian-jessiestretchbuster
Note that with the release of Docker 19.03, usage of nvidia-docker2 packages are deprecated since NVIDIA GPUs are now natively supported as devices in the Docker runtime.
(Docker 19.03のリリースでは、NVIDIA GPUがDockerランタイムのデバイスとしてネイティブにサポートされるようになったため、nvidia-docker2パッケージの使用は推奨されないことに注意してください。)
nvidia-docker2をインストールせずに、「Quickstart」の説明に従って、nvidia-container-toolkitをインストールする。
NVIDIA Container Runtimeのインストール
InstallationとDocker Engine setupを実施。
補足
NVIDIA Container Runtimeをインストールしないと、
$ sudo docker run --runtime=nvidia --rm nvidia/cuda nvidia-smiのようにruntimeを指定して実行すると、
docker: Error response from daemon: Unknown runtime specified nvidia. See 'docker run --help'.とエラーが表示される。
Why do I get the error Unknown runtime specified nvidia?
TensorFlow の Docker イメージをダウンロード
最新リリース版Tensorflow(GPU)、python3、jupyter付きのイメージをpullする例。
(py3を指定しないと、python2となるので注意。)$ docker pull tensorflow/tensorflow:latest-gpu-py3-jupyterTensorflow(GPU) Dockerの動作確認
tensorflow < 2.0のイメージの場合。
(公式ページには、こちらが載っている。2019.11.25)docker run --runtime=nvidia -it --rm tensorflow/tensorflow:latest-gpu-py3-jupyter \ python -c "import tensorflow as tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))"tensorflow2.0<=のイメージの場合。
docker run --runtime=nvidia -it --rm tensorflow/tensorflow:latest-gpu-py3-jupyter \ python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"