TensorFlow : Docker イメージ (GPU) を利用する2020/07/24 |
機械学習ライブラリー, TensorFlow をインストールします。
当例では、TensorFlow 公式の Docker イメージをダウンロードして、コンテナーから TensorFlow を利用します。
Docker イメージは GPU サポート有りのイメージを使用します。 |
|
[1] | |
[2] |
TensorFlow Docker (GPU) の root ユーザーでの利用例です。
TensorFlow 公式のテスト済みのビルド構成は以下から確認可能です。当例では CUDA 10.1, TensorFlow 2.1.0 を使用します。 一般ユーザーで [docker] コマンドを使用したい場合は、該当ユーザーを [docker] グループに所属させる必要があります。 ⇒ https://www.tensorflow.org/install/source?hl=en#gpu_support_2 |
# CUDA/TensorFlow イメージを Pull [root@dlp ~]# docker pull nvidia/cuda:10.1-base [root@dlp ~]# docker pull tensorflow/tensorflow:2.1.0-gpu-py3
docker images REPOSITORY TAG IMAGE ID CREATED SIZE tensorflow/tensorflow 2.1.0-gpu-py3 e2a4af785bdb 6 months ago 4.11GB nvidia/cuda 10.1-base 3b55548ae91f 7 months ago 106MB # [nvidia-smi] 動作確認 [root@dlp ~]# docker run --gpus all --rm nvidia/cuda:10.1-base nvidia-smi Fri Jul 24 02:31:04 2020 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 450.57 Driver Version: 450.57 CUDA Version: 11.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 GeForce GTX 1070 Off | 00000000:05:00.0 Off | N/A | | 27% 38C P5 24W / 180W | 0MiB / 8119MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+ # TensorFlow 動作確認 [root@dlp ~]# docker run --gpus all --rm tensorflow/tensorflow:2.1.0-gpu-py3 \ python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))" 2020-07-24 02:31:47.674743: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libnvinfer.so.6 2020-07-24 02:31:47.677653: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libnvinfer_plugin.so.6 2020-07-24 02:31:48.397372: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcuda.so.1 2020-07-24 02:31:48.627649: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2020-07-24 02:31:48.628521: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1555] Found device 0 with properties: pciBusID: 0000:05:00.0 name: GeForce GTX 1070 computeCapability: 6.1 coreClock: 1.7845GHz coreCount: 15 deviceMemorySize: 7.93GiB deviceMemoryBandwidth: 238.66GiB/s 2020-07-24 02:31:48.628584: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1 2020-07-24 02:31:48.628642: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10 2020-07-24 02:31:48.633279: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10 2020-07-24 02:31:48.633882: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10 2020-07-24 02:31:48.638866: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10 2020-07-24 02:31:48.640898: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10 2020-07-24 02:31:48.640963: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7 2020-07-24 02:31:48.641109: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2020-07-24 02:31:48.642019: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2020-07-24 02:31:48.642878: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1697] Adding visible gpu devices: 0 2020-07-24 02:31:48.655202: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2801765000 Hz 2020-07-24 02:31:48.655964: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x54ced50 initialized for platform Host (this does not guarantee that XLA will be used). Devices: 2020-07-24 02:31:48.656014: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): Host, Default Version 2020-07-24 02:31:48.726065: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2020-07-24 02:31:48.726918: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x5544a30 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices: 2020-07-24 02:31:48.726963: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): GeForce GTX 1070, Compute Capability 6.1 2020-07-24 02:31:48.727437: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2020-07-24 02:31:48.728399: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1555] Found device 0 with properties: pciBusID: 0000:05:00.0 name: GeForce GTX 1070 computeCapability: 6.1 coreClock: 1.7845GHz coreCount: 15 deviceMemorySize: 7.93GiB deviceMemoryBandwidth: 238.66GiB/s 2020-07-24 02:31:48.728487: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1 2020-07-24 02:31:48.728528: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10 2020-07-24 02:31:48.728581: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10 2020-07-24 02:31:48.728625: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10 2020-07-24 02:31:48.728671: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10 2020-07-24 02:31:48.728717: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10 2020-07-24 02:31:48.728755: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7 2020-07-24 02:31:48.728907: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2020-07-24 02:31:48.729950: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2020-07-24 02:31:48.730871: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1697] Adding visible gpu devices: 0 2020-07-24 02:31:48.730963: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1 2020-07-24 02:31:48.983849: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1096] Device interconnect StreamExecutor with strength 1 edge matrix: 2020-07-24 02:31:48.983900: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1102] 0 2020-07-24 02:31:48.983917: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] 0: N 2020-07-24 02:31:48.984176: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2020-07-24 02:31:48.984850: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2020-07-24 02:31:48.985529: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1241] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 7588 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1070, pci bus id: 0000:05:00.0, compute capability: 6.1) tf.Tensor(-2189.8442, shape=(), dtype=float32) |
Sponsored Link |