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
- 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 membutuhkan nvidia-docker2 dan--runtime=nvidia
flag. 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
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