Buruh pelabuhan

Docker menggunakan kontainer untuk membuat lingkungan virtual yang mengisolasi instalasi TensorFlow dari sistem lainnya. Program TensorFlow dijalankan dalam lingkungan virtual ini yang dapat berbagi sumber daya dengan mesin hostnya (mengakses direktori, menggunakan GPU, menyambung 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 sebelum 19.03 membutuhkan nvidia-docker2 dan --runtime=nvidia flag. 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

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

Menandai Keterangan
latest Rilis terbaru gambar biner TensorFlow CPU. Bawaan.
nightly Build malam hari dari gambar TensorFlow. (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 notebook tutorial TensorFlow)

Anda dapat menggunakan beberapa varian sekaligus. Misalnya, download gambar rilis TensorFlow berikut 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 wadah TensorFlow Docker

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

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

Untuk detailnya, lihat referensi docker run .

Contoh menggunakan gambar khusus CPU

Mari verifikasi instalasi TensorFlow menggunakan gambar yang diberi tag latest . Docker mengunduh gambar 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 demonstrasikan beberapa resep TensorFlow Docker lainnya. Mulai sesi bash shell dalam wadah 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 di dalam 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 saat file yang dibuat dalam wadah diekspos ke host. Biasanya yang terbaik adalah mengedit file di sistem host.

Mulai server Jupyter Notebook menggunakan nightly build TensorFlow:

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

Ikuti petunjuk 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 yang mendukung GPU

Unduh dan jalankan gambar TensorFlow yang mendukung GPU (mungkin perlu 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])))"

Butuh beberapa saat untuk menyiapkan gambar yang mendukung GPU. Jika berulang kali menjalankan skrip berbasis GPU, Anda dapat menggunakan docker exec untuk menggunakan kembali wadah.

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

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