Docker

Docker menggunakan container untuk membuat lingkungan virtual yang mengisolasi instalasi TensorFlow dari seluruh sistem. Program TensorFlow dijalankan dalam lingkungan virtual ini yang dapat berbagi sumber daya dengan mesin hostnya (mengakses direktori, menggunakan GPU, terhubung ke Internet, dll.). Gambar TensorFlow Docker diuji untuk setiap rilis.

Docker adalah cara termudah untuk mengaktifkan dukungan GPU TensorFlow di Linux karena hanya driver GPU NVIDIA® yang diperlukan pada mesin host ( NVIDIA® CUDA® Toolkit tidak perlu diinstal).

Persyaratan TensorFlow Docker

  1. Instal Docker di mesin host lokal Anda.
  2. Untuk dukungan GPU di Linux, instal dukungan NVIDIA Docker .
    • Catat versi Docker Anda dengan docker -v . Versi lebih awal dari 19.03 memerlukan nvidia-docker2 dan flag --runtime=nvidia . Pada versi termasuk dan setelah 19.03, Anda akan menggunakan paket nvidia-container-toolkit dan flag --gpus all . Kedua opsi tersebut didokumentasikan pada halaman yang ditautkan di atas.

Unduh gambar TensorFlow Docker

Gambar TensorFlow Docker resmi terletak di repositori Tensorflow/tensorflow Docker Hub. Rilis gambar diberi tag menggunakan format berikut:

Menandai Keterangan
latest Rilis terbaru gambar biner CPU TensorFlow. Bawaan.
nightly Pembuatan gambar TensorFlow setiap malam. (Tidak stabil.)
version Tentukan versi gambar biner TensorFlow, misalnya: 2.8.3

Setiap tag dasar memiliki varian yang menambah atau mengubah fungsionalitas:

Varian Tag Keterangan
tag -gpu Rilis tag yang ditentukan dengan dukungan GPU. ( Lihat di bawah )
tag -jupyter Rilis tag yang ditentukan dengan Jupyter (termasuk buku catatan tutorial TensorFlow)

Anda dapat menggunakan beberapa varian sekaligus. Misalnya, gambar rilis TensorFlow berikut akan diunduh ke mesin Anda:

docker pull tensorflow/tensorflow                     # latest stable release
docker pull tensorflow/tensorflow:devel-gpu           # nightly dev release w/ GPU support
docker pull tensorflow/tensorflow:latest-gpu-jupyter  # latest release w/ GPU support and Jupyter

Mulai kontainer TensorFlow Docker

Untuk memulai container yang dikonfigurasi TensorFlow, gunakan formulir perintah berikut:

docker run [-it] [--rm] [-p hostPort:containerPort] tensorflow/tensorflow[:tag] [command]

Untuk detailnya, lihat referensi menjalankan buruh pelabuhan .

Contoh menggunakan gambar khusus CPU

Mari verifikasi instalasi TensorFlow menggunakan gambar yang diberi tag latest . Docker mendownload image TensorFlow baru saat pertama kali dijalankan:

docker run -it --rm tensorflow/tensorflow \
   python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

Mari kita tunjukkan beberapa resep TensorFlow Docker lainnya. Mulai sesi bash shell dalam container yang dikonfigurasi TensorFlow:

docker run -it tensorflow/tensorflow bash

Di dalam container, Anda dapat memulai sesi python dan mengimpor TensorFlow.

Untuk menjalankan program TensorFlow yang dikembangkan pada mesin host dalam sebuah container, pasang direktori host dan ubah direktori kerja container ( -v hostDir:containerDir -w workDir ):

docker run -it --rm -v $PWD:/tmp -w /tmp tensorflow/tensorflow python ./script.py

Masalah izin dapat muncul ketika file yang dibuat dalam wadah diekspos ke host. Biasanya yang terbaik adalah mengedit file di sistem host.

Mulai server Notebook Jupyter menggunakan build malam TensorFlow:

docker run -it -p 8888:8888 tensorflow/tensorflow:nightly-jupyter

Ikuti instruksi dan buka URL di browser web host Anda: http://127.0.0.1:8888/?token=...

dukungan GPU

Docker adalah cara termudah untuk menjalankan TensorFlow pada GPU karena mesin host hanya memerlukan driver NVIDIA® ( NVIDIA® CUDA® Toolkit tidak diperlukan).

Instal Nvidia Container Toolkit untuk menambahkan dukungan GPU NVIDIA® ke Docker. nvidia-container-runtime hanya tersedia untuk Linux. Lihat FAQ dukungan platform nvidia-container-runtime untuk detailnya.

Periksa apakah GPU tersedia:

lspci | grep -i nvidia

Verifikasi instalasi nvidia-docker Anda:

docker run --gpus all --rm nvidia/cuda nvidia-smi

Contoh menggunakan gambar berkemampuan GPU

Download dan jalankan gambar TensorFlow berkemampuan GPU (mungkin memerlukan waktu beberapa menit):

docker run --gpus all -it --rm tensorflow/tensorflow:latest-gpu \
   python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

Diperlukan waktu beberapa saat untuk menyiapkan gambar berkemampuan GPU. Jika berulang kali menjalankan skrip berbasis GPU, Anda dapat menggunakan docker exec untuk menggunakan kembali sebuah container.

Gunakan image GPU TensorFlow terbaru untuk memulai sesi bash shell di container:

docker run --gpus all -it tensorflow/tensorflow:latest-gpu bash