Создайте 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.