Ubuntu 20.04
Sponsored Link

TensorFlow : Docker イメージ (CPU) を利用する2020/07/27

 
機械学習ライブラリー, TensorFlow をインストールします。
当例では、TensorFlow 公式の Docker イメージをダウンロードして、コンテナーから TensorFlow を利用します。
Docker イメージは GPU サポート無しの CPU オンリーのイメージを使用します。
[1]
[2] TensorFlow Docker (CPU) の利用例です。
# TensorFlow 2.0 with Python3 イメージを Pull

root@dlp:~#
docker pull tensorflow/tensorflow:2.0.0-py3
root@dlp:~#
docker images

REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
tensorflow/tensorflow   2.0.0-py3           90f5cb97b18f        9 months ago        1.07GB

# コンテナー実行

root@dlp:~#
docker run --rm tensorflow/tensorflow:2.0.0-py3 \
python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

2020-07-27 01:36:18.348693: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2801540000 Hz
2020-07-27 01:36:18.349039: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x3dee3d0 executing computations on platform Host. Devices:
2020-07-27 01:36:18.349066: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): Host, Default Version
tf.Tensor(-181.85336, shape=(), dtype=float32)

# Hello World テストスクリプトを作成してコンテナーから実行

root@dlp:~#
vi hello_tensorflow.py
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow World!')
tf.print(hello)

root@dlp:~#
docker run --rm -v $PWD:/tmp -w /tmp tensorflow/tensorflow:2.0.0-py3 python ./hello_tensorflow.py

2020-07-27 01:36:50.966974: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2801540000 Hz
2020-07-27 01:36:50.967719: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x4a4f5a0 executing computations on platform Host. Devices:
2020-07-27 01:36:50.967870: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): Host, Default Version
Hello, TensorFlow World!
[3] Jupyter Notebook を含むイメージの利用例です。
# TensorFlow 2.0 with Python3/Jupyter イメージを Pull

root@dlp:~#
docker pull tensorflow/tensorflow:2.0.0-py3-jupyter
root@dlp:~#
docker images

REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
tensorflow/tensorflow   2.0.0-py3-jupyter   c652a4fc8a4f        9 months ago        1.22GB
tensorflow/tensorflow   2.0.0-py3           90f5cb97b18f        9 months ago        1.07GB

# コンテナーをデーモンとして実行

root@dlp:~#
docker run -dt -p 8888:8888 tensorflow/tensorflow:2.0.0-py3-jupyter

a7ba54773b6366a3005d1a6b65047d4207428e64f87a3ae8ef318eefc656dedf

root@dlp:~#
docker ps

CONTAINER ID        IMAGE                                     COMMAND                  CREATED             STATUS              PORTS                    NAMES
a7ba54773b63        tensorflow/tensorflow:2.0.0-py3-jupyter   "bash -c 'source /et…"   23 seconds ago      Up 22 seconds       0.0.0.0:8888->8888/tcp   busy_lamport

# URL 確認

root@dlp:~#
docker exec a7ba54773b63 bash -c "jupyter notebook list"

Currently running servers:
http://0.0.0.0:8888/?token=2448b0793ae5233727251a0d97de93e438c4aa638e317e03 :: /tf
  表示された URL にアクセスすると Jupyter Notebook が利用できます。
関連コンテンツ