Создайте Dockerfile, который компилирует двоичный файл Tensorflow для использования: инструкции SSE4.1, SSE4.2 и AVX

Итак, одна из составляющих докера - легко развернуть среду для тестирования программного обеспечения, верно? Кто-нибудь может сказать мне, как скомпилировать двоичный файл Tensorflow для использования: SSE4.1, SSE4.2 в файле Docker?. Кто-нибудь может указать мне на файл Docker, который делает это? если это вообще возможно?

В итоге два вопроса:

  • Возможно ли иметь файл Docker, который компилирует двоичный файл Tensorflow для использования: SSE4.1, SSE4.2 (и GPU, я только нашел один или другой)
  • Можете ли вы сказать мне, где я могу найти файл Docker, который делает это, или хороший учебник?

"Цель этого вопроса - избежать следующего сценария: где настройка хоста работает, но настройка докера не работает, потому что Tensorflow не был скомпилирован определенным образом". Как на картинке ниже.

1 ответ

Решение

Рабочий пример такого Dockerfile, который можно использовать в качестве отправной точки, приведен здесь: https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/docker (см. README.md для деталей).

Точнее, это набор параметризованных файлов Docker, сборка начинается с parameterized_docker_build.sh, Пример команды, которая успешно компилирует TensorFlow внутри Docker:

export TF_DOCKER_BUILD_IS_DEVEL=YES
export TF_DOCKER_BUILD_TYPE=CPU
export TF_DOCKER_BUILD_PYTHON_VERSION=PYTHON3
export TF_DOCKER_BUILD_DEVEL_BRANCH=master
tensorflow/tools/docker/parameterized_docker_build.sh

Для построения TensorFlow с пользовательскими флагами используйте TF_DOCKER_BUILD_IS_DEVEL=YES поскольку файлы Docker не-devel просто загружают скомпилированные двоичные файлы Docker с сервера.

Команда TensorFlow недавно начала создавать образы Docker для разработки с AVX.

Для SSE смотрите этот вопрос. Вы можете изменить командную строку bazel в своей локальной копии https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/docker/Dockerfile.devel.

PS. Для сборки TensorFlow не-уровня с пользовательскими параметрами вы можете посмотреть на https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/ci_build.

Другие вопросы по тегам