RSVP for your your local TensorFlow Everywhere event today!
Trang này được dịch bởi Cloud Translation API.
Switch to English

Docker

Docker sử dụng vùng chứa để tạo môi trường ảo cô lập cài đặt TensorFlow với phần còn lại của hệ thống. Các chương trình TensorFlow được chạy trong môi trường ảo này có thể chia sẻ tài nguyên với máy chủ của nó (truy cập thư mục, sử dụng GPU, kết nối với Internet, v.v.). Các hình ảnh TensorFlow Docker được thử nghiệm cho mỗi bản phát hành.

Docker là cách dễ nhất để kích hoạt hỗ trợ GPU TensorFlow trên Linux vì chỉ cần có trình điều khiển GPU NVIDIA® trên máy chủ (không cần cài đặt Bộ công cụ NVIDIA® CUDA® ).

Yêu cầu của TensorFlow Docker

  1. Cài đặt Docker trên máy chủ cục bộ của bạn.
  2. Để được hỗ trợ GPU trên Linux, hãy cài đặt hỗ trợ NVIDIA Docker .
    • Ghi chú phiên bản Docker của bạn với docker -v . Các phiên bản trước 19.03 yêu cầu nvidia-docker2 và cờ --runtime --runtime=nvidia . Trên các phiên bản bao gồm và sau 19.03, bạn sẽ sử dụng gói nvidia-container-toolkit và cờ --gpus all . Cả hai tùy chọn đều được ghi lại trên trang được liên kết ở trên.

Tải xuống hình ảnh TensorFlow Docker

Các hình ảnh TensorFlow Docker chính thức nằm trong kho lưu trữ tensorflow / tensorflow Docker Hub. Bản phát hành hình ảnh được gắn thẻ bằng định dạng sau:

Nhãn Sự miêu tả
latest Bản phát hành mới nhất của hình ảnh nhị phân CPU TensorFlow. Mặc định.
nightly Các bản dựng hàng đêm của hình ảnh TensorFlow. (Không ổn định.)
version Chỉ định phiên bản của hình ảnh nhị phân TensorFlow, ví dụ: 2.1.0
devel Hàng đêm xây dựng môi trường phát triển master TensorFlow. Bao gồm mã nguồn TensorFlow.
custom-op Hình ảnh thử nghiệm đặc biệt để phát triển các hoạt động tùy chỉnh TF. Thông tin thêm ở đây .

Mỗi thẻ cơ sở có các biến thể thêm hoặc thay đổi chức năng:

Các biến thể thẻ Sự miêu tả
tag -gpu Bản phát hành thẻ được chỉ định có hỗ trợ GPU. ( Xem bên dưới )
tag -jupyter Bản phát hành thẻ được chỉ định với Jupyter (bao gồm sổ ghi chép hướng dẫn TensorFlow)

Bạn có thể sử dụng nhiều biến thể cùng một lúc. Ví dụ: tải xuống hình ảnh phát hành TensorFlow sau đây vào máy của bạn:

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

Bắt đầu một vùng chứa TensorFlow Docker

Để bắt đầu một vùng chứa được cấu hình TensorFlow, hãy sử dụng mẫu lệnh sau:

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

Để biết chi tiết, hãy xem tham chiếu chạy docker .

Ví dụ sử dụng hình ảnh chỉ CPU

Hãy xác minh cài đặt TensorFlow bằng hình ảnh được gắn thẻ latest . Docker tải xuống hình ảnh TensorFlow mới lần đầu tiên nó được chạy:

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

Hãy cùng minh họa thêm một số công thức TensorFlow Docker. Bắt đầu phiên shell bash trong vùng chứa được định cấu hình TensorFlow:

docker run -it tensorflow/tensorflow bash

Trong vùng chứa, bạn có thể bắt đầu phiên python và nhập TensorFlow.

Để chạy chương trình TensorFlow được phát triển trên máy chủ trong vùng chứa, hãy gắn kết thư mục máy chủ và thay đổi thư mục làm việc của vùng chứa ( -v hostDir:containerDir -w workDir ):

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

Các vấn đề về quyền có thể phát sinh khi các tệp được tạo trong vùng chứa được tiếp xúc với máy chủ. Tốt nhất là bạn nên chỉnh sửa tệp trên hệ thống máy chủ.

Khởi động máy chủ Jupyter Notebook bằng bản dựng hàng đêm của TensorFlow:

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

Làm theo hướng dẫn và mở URL trong trình duyệt web chủ của bạn: http://127.0.0.1:8888/?token=...

Hỗ trợ GPU

Docker là cách dễ nhất để chạy TensorFlow trên GPU vì máy chủ chỉ yêu cầu trình điều khiển NVIDIA® (không yêu cầu Bộ công cụ NVIDIA® CUDA® ).

Cài đặtBộ công cụ vùng chứa Nvidia để thêm hỗ trợ GPU NVIDIA® cho Docker. nvidia-container-runtime chỉ khả dụng cho Linux. Xem Câu hỏi thường gặp về hỗ trợ nền tảng nvidia-container-runtime để biết chi tiết.

Kiểm tra xem có GPU không:

lspci | grep -i nvidia

Xác minh cài đặt nvidia-docker của bạn:

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

Ví dụ sử dụng hình ảnh hỗ trợ GPU

Tải xuống và chạy hình ảnh TensorFlow hỗ trợ GPU (có thể mất vài phút):

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])))"

Có thể mất một lúc để thiết lập hình ảnh hỗ trợ GPU. Nếu liên tục chạy các tập lệnh dựa trên GPU, bạn có thể sử dụng trình docker exec để sử dụng lại một vùng chứa.

Sử dụng hình ảnh GPU TensorFlow mới nhất để bắt đầu phiên shell bash trong vùng chứa:

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