创建一个编译Tensorflow二进制文件的Dockerfile:SSE4.1,SSE4.2和AVX指令

时间:2018-01-29 15:44:25

标签: docker tensorflow cpu sse4

那么,docker的一个主要目的是轻松部署一个环境来测试软件吗?任何人都可以告诉我如何编译Tensorflow二进制文件使用:docker文件上的SSE4.1,SSE4.2?任何人都可以指向我这样做的docker文件吗?如果可能的话?

总之,有两个问题:

  • 是否可以使用编译Tensorflow二进制文件的docker文件:SSE4.1,SSE4.2(和GPU,我只找到一个或另一个)
  • 你能告诉我在哪里可以找到这样做的Docker文件或一个好的教程吗?

“这个问题的目的是避免以下情况:主机设置工作但Docker设置不起作用,因为Tensorflow没有以特定方式编译。”喜欢下面的图片。enter image description here

1 个答案:

答案 0 :(得分:3)

这个Dockerfile的工作示例可以作为起点:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/docker(详见README.md)。

更准确地说,它是一组参数化的Docker文件,构建以parameterized_docker_build.sh开头。在Docker中成功编译TensorFlow的命令示例是:

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文件只需从服务器下载预编译的Docker二进制文件。

TensorFlow团队最近刚刚开始build development Docker images with AVX

对于SSE see this question。您可以在https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/docker/Dockerfile.devel的本地副本中修改bazel命令行。

PS。对于使用自定义选项的非开发TensorFlow构建,您可以查看https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/ci_build