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
- Instal Docker di mesin host lokal Anda.
- 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 paketnvidia-container-toolkit
dan flag--gpus all
. Kedua opsi tersebut didokumentasikan pada halaman yang ditautkan di atas.
- Catat versi Docker Anda dengan
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