Docker menggunakan container untuk membuat lingkungan virtual yang mengisolasi penginstalan TensorFlow dari seluruh sistem. Program TensorFlow dijalankan dalam lingkungan virtual ini yang dapat berbagi resource dengan mesin host-nya (mengakses direktori, menggunakan GPU, menyambungkan ke Internet, dll.). Image TensorFlow Docker diuji untuk setiap rilis.
Docker adalah cara termudah untuk mengaktifkan dukungan TensorFlow GPU 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 sebelum 19,03 memerlukan nvidia-docker2 dan tanda--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
Mendownload image TensorFlow Docker
Image TensorFlow Docker resmi terletak di repositori tensorflow / tensorflow Docker Hub. Rilis gambar diberi tag menggunakan format berikut:
Menandai | Deskripsi |
---|---|
latest | Rilis terbaru gambar biner CPU TensorFlow. Default. |
nightly | Build nightly gambar TensorFlow. (Tidak stabil.) |
version | Tentukan versi gambar biner TensorFlow, misalnya: 2.1.0 |
devel | Build nightly dari lingkungan pengembangan master TensorFlow. Termasuk kode sumber TensorFlow. |
custom-op | Gambar eksperimental khusus untuk mengembangkan operasi kustom TF. Info selengkapnya di sini . |
Setiap tag dasar memiliki varian yang menambah atau mengubah fungsionalitas:
Varian Tag | Deskripsi |
---|---|
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, berikut ini mendownload gambar rilis TensorFlow ke komputer 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 container Docker TensorFlow
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 docker run .
Contoh menggunakan gambar khusus CPU
Mari verifikasi penginstalan 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 peragakan beberapa resep Docker TensorFlow lainnya. Mulai sesi bash
shell dalam container yang dikonfigurasi TensorFlow:
docker run -it tensorflow/tensorflow bash
Di dalam penampung, Anda dapat memulai sesi python
dan mengimpor TensorFlow.
Untuk menjalankan program TensorFlow yang dikembangkan pada mesin host dalam sebuah wadah, -v hostDir:containerDir -w workDir
direktori host dan ubah direktori kerja penampung ( -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 Notebook Jupyter menggunakan build malam 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 membutuhkan driver NVIDIA® ( NVIDIA® CUDA® Toolkit tidak diperlukan).
InstalNvidia Container Toolkit untuk menambahkan dukungan NVIDIA® GPU ke Docker. nvidia-container-runtime
hanya tersedia untuk Linux. Lihat FAQ dukungan platform nvidia-container-runtime
untuk mengetahui detailnya.
Periksa apakah GPU tersedia:
lspci | grep -i nvidia
Verifikasi instalasi nvidia-docker
:
docker run --gpus all --rm nvidia/cuda nvidia-smi
Contoh menggunakan gambar berkemampuan GPU
Download dan jalankan gambar TensorFlow yang mendukung GPU (mungkin perlu 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])))"
Butuh beberapa saat untuk menyiapkan gambar yang mendukung GPU. Jika berulang kali menjalankan skrip berbasis GPU, Anda dapat menggunakan docker exec
untuk menggunakan kembali sebuah container.
Gunakan gambar GPU TensorFlow terbaru untuk memulai sesi bash
shell di penampung:
docker run --gpus all -it tensorflow/tensorflow:latest-gpu bash