Google cam kết thúc đẩy công bằng chủng tộc cho các cộng đồng Đen. Xem cách làm.
Trang này được dịch bởi Cloud Translation API.
Switch to English

Docker

Docker sử dụng các thùng chứa để tạo các môi trường ảo tách biệt cài đặt TensorFlow khỏ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ó (thư mục truy cập, sử dụng GPU, kết nối với Internet, v.v.). Các hình ảnh Docker TensorFlow đượ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 trình điều khiển GPU NVIDIA® trên máy chủ ( Bộ công cụ NVIDIA® CUDA® không cần cài đặt).

Yêu cầu Docker TenorFlow

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

Tải xuống một hình ảnh Docker TensorFlow

Các hình ảnh chính thức của Docker TenorFlow được đặt trong kho lưu trữ Docker Hub / tenorflow . 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 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 Xây dựng hàng đêm của một 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 ops tùy chỉnh TF.

:: Thông tin thêm tại đây: https://github.com/tensorflow/custom-op :

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

Biến thể thẻ Sự miêu tả
tag -gpu Việc phát hành thẻ được chỉ định với sự 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ụ: các bản tải xuống sau đây TensorFlow phát hành hình ảnh 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 thùng chứa DockorFlow

Để bắt đầu một thù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, xem tài liệu tham khảo chạy docker .

Ví dụ sử dụng hình ảnh chỉ có 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 một hình ảnh TensorFlow mới trong 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])))"

Chúng ta hãy chứng minh thêm một số công thức nấu ăn của DockorFlow Docker. Bắt đầu một phiên bash shell trong một thùng chứa được cấu hình TensorFlow:

docker run -it tensorflow/tensorflow bash

Trong vùng chứa, bạn có thể bắt đầu một 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 bộ chứa, hãy gắn thư mục máy chủ và thay đổi thư mục làm việc của bộ 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 một thùng chứa được hiển thị với máy chủ. Thông thường tốt nhất là chỉnh sửa các tệp trên hệ thống máy chủ.

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

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

Làm theo các hướng dẫn và mở URL trong trình duyệt web máy 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 đặt Bộ công cụ chứa Nvidia để thêm hỗ trợ GPU NVIDIA® vào 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 GPU có khả dụng 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 docker exec để sử dụng lại một container.

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

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