【问题标题】:Make a Dockerfile that compiles a Tensorflow binary to use: SSE4.1, SSE4.2 and AVX instructions制作一个用于编译 Tensorflow 二进制文件的 Dockerfile:SSE4.1、SSE4.2 和 AVX 指令
【发布时间】:2018-07-08 08:49:25
【问题描述】:

那么,docker 的优势之一就是可以轻松地部署一个环境来测试软件,对吧?谁能告诉我如何编译一个 Tensorflow 二进制文件以使用:SSE4.1,SSE4.2 on a docker file?任何人都可以指出我这样做的 docker 文件吗?如果有可能吗?

总结,两个问题:

  • 是否可以有一个 docker 文件来编译 Tensorflow 二进制文件以使用:SSE4.1、SSE4.2(和 GPU,我只找到了其中一个)
  • 您能告诉我在哪里可以找到执行此操作的 docker 文件或好的教程吗?

“这个问题的目的是避免出现以下情况:主机设置工作但 docker 设置不起作用,因为 Tensorflow 没有以特定方式编译。” 就像下图。

【问题讨论】:

  • 你知道这个dockerfile吗?
  • @Patwie 是的,谢谢。但是那个 dockerfile 对我不起作用,当我构建图像时它会抛出错误。它对你有用吗?
  • @Patwie 它说 BAZEL_VERSION 太旧了,我改变了它,然后它开始抛出更多错误。所以我发现自己在调试一个 dockerfile,这与 dockerfile 的主要思想背道而驰。出于这个原因,我开始怀疑是否有可能这样做,也许以某种方式编译 Tensorflow 取决于主机,即使它是在 dockerfile 中完成的。我自己解释了吗?

标签: docker tensorflow cpu sse4


【解决方案1】:

可以用作起点的此类 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

上证所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

【讨论】:

猜你喜欢
  • 2017-05-08
  • 2018-04-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多