Google стремится продвигать расовую справедливость для черных сообществ. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

докер

Docker использует контейнеры для создания виртуальных сред, которые изолируют установку TensorFlow от остальной части системы. Программы TensorFlow выполняются в этой виртуальной среде, которая может совместно использовать ресурсы со своим хост-компьютером (доступ к каталогам, использование графического процессора, подключение к Интернету и т. Д.). Образы TensorFlow Docker тестируются для каждого выпуска.

Docker - это самый простой способ включить поддержку TensorFlow GPU в Linux, поскольку на хост- компьютере требуется только драйвер NVIDIA® GPU (не требуется устанавливать NVIDIA® CUDA® Toolkit ).

Требования к TensorFlow Docker

  1. Установите Docker на локальном хосте.
  2. Для поддержки графического процессора в Linux установите поддержку NVIDIA Docker .
    • Запишите вашу версию Docker с помощью docker -v . Версии ранее 19.03 требуют nvidia-docker2 и флаг --runtime=nvidia . В версиях, включающих и после 19.03, вы будете использовать пакет nvidia-container-toolkit и флаг --gpus all . Оба варианта задокументированы на странице, указанной выше.

Загрузить изображение TensorFlow Docker

Официальные образы TensorFlow Docker находятся в репозитории тензорного потока / тензорного потока Docker Hub. Релизы изображений помечаются в следующем формате:

Тег Описание
latest Последний выпуск двоичного образа процессора TensorFlow. По умолчанию.
nightly Ночные сборки изображения TensorFlow. (Неустойчивый)
version Укажите версию двоичного изображения TensorFlow, например: 2.1.0
devel Ночные сборки master среды разработки TensorFlow. Включает исходный код TensorFlow.
custom-op Специальный экспериментальный образ для разработки пользовательских операций TF.

:: Больше информации здесь: https://github.com/tensorflow/custom-op :

Каждый базовый тег имеет варианты, которые добавляют или изменяют функциональность:

Варианты тегов Описание
tag -gpu Указанный релиз тега с поддержкой GPU. ( См. Ниже )
tag -jupyter Указанный релиз тега с Jupyter (включает учебные тетради TensorFlow)

Вы можете использовать несколько вариантов одновременно. Например, следующий файл загружает образы выпуска TensorFlow на ваш компьютер:

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

Запустить контейнер TensorFlow Docker

Чтобы запустить контейнер, настроенный TensorFlow, используйте следующую форму команды:

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

Для получения дополнительной информации см. Ссылку на запуск Docker .

Примеры использования изображений только для процессора

Давайте проверим установку TensorFlow, используя latest изображение с тегами. Docker загружает новый образ TensorFlow при первом запуске:

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

Давайте продемонстрируем еще несколько рецептов TensorFlow Docker. Запустите сеанс оболочки bash в контейнере, настроенном TensorFlow:

docker run -it tensorflow/tensorflow bash

Внутри контейнера вы можете запустить сеанс python и импортировать TensorFlow.

Чтобы запустить программу TensorFlow, разработанную на хост- машине в контейнере, -v hostDir:containerDir -w workDir каталог хоста и измените рабочий каталог контейнера ( -v hostDir:containerDir -w workDir ):

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

Проблемы с разрешениями могут возникнуть, когда файлы, созданные в контейнере, открыты для хоста. Обычно лучше всего редактировать файлы в хост-системе.

Запустите сервер Jupyter Notebook, используя ночную сборку TensorFlow :

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

Следуйте инструкциям и откройте URL-адрес в веб-браузере вашего хоста: http://127.0.0.1:8888/?token=...

Поддержка GPU

Docker - это самый простой способ запустить TensorFlow на графическом процессоре, поскольку хост- машине требуется только драйвер NVIDIA® ( набор инструментов NVIDIA® CUDA® не требуется).

Установите Nvidia Container Toolkit, чтобы добавить поддержку NVIDIA® GPU в Docker. nvidia-container-runtime доступна только для Linux. Подробности смотрите в FAQ по поддержке платформы nvidia-container-runtime .

Проверьте, доступен ли графический процессор:

lspci | grep -i nvidia

Проверьте nvidia-docker установки nvidia-docker :

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

Примеры использования изображений с поддержкой графического процессора

Загрузите и запустите образ TensorFlow с поддержкой графического процессора (это может занять несколько минут):

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

Настройка образа с поддержкой графического процессора может занять некоторое время. Если вы постоянно запускаете сценарии на основе графического процессора, вы можете использовать docker exec для повторного использования контейнера.

Используйте последний образ графического процессора TensorFlow для запуска сеанса оболочки bash в контейнере:

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