使用Docker从源代码编译Tensorflow以提高CPU速度

时间:2017-03-28 18:52:16

标签: docker tensorflow nvidia

我正在寻找一种方法来设置或修改现有的Docker镜像,以安装将安装它的张量流,以便SSE4,AVX,AVX2和FMA指令可用于CPU加速。到目前为止,我已经找到了如何使用bazel How to Compile Tensorflow...CPU instructions not compiled...从源代码安装。这些都没有解释如何在Docker中执行此操作。所以我认为我正在寻找的是你需要添加到没有这些选项的现有docker镜像,以便你可以在启用CPU选项的情况下获得tensorflow的编译版本。现有的docker镜像不会这样做,因为他们希望图像在尽可能多的机器上运行。我在linux PC上使用Ubuntu 14.04。我是docker的新手,但是已经安装了tensorflow并让它工作而没有得到我在使用docker镜像时得到的CPU警告。我可能不需要这个速度,但我看到声称加速的帖子可能很重要。我搜索了现有的docker图像,这样做并找不到任何东西。我需要这个与gpu一起工作,所以需要与nvidia-docker兼容。

我刚发现这个docker support for bazel,它可能会提供一个答案,但我不太清楚它是否足够清楚。我相信这是说你不能在Dockerfile中用bazel构建张量流。你必须使用bazel构建一个Dockerfile。我的理解是否正确,这是从源代码编译的tensorflow获取docker镜像的唯一方法吗?如果是这样,我仍然可以使用帮助来解决这个问题,并且如果使用现有的docker镜像进行张量流动,我仍然可以得到其他依赖关系。

2 个答案:

答案 0 :(得分:1)

可以找到使用CPU支持构建的Dockerfiles here

希望有所帮助!在Stack Overflow和Github问题上花了很多深夜。现在轮到我了! :)

特别是GPU的东西非常多毛 - 尤其是在启用XLA / JIT / AOT以及图形转换工具时。

我的Dockerfiles中嵌入了很多黑客攻击。随意查看并向我提问!

答案 1 :(得分:0)

contributing guidelines提到使用Docker从源代码构建TensorFlow来运行单元测试:

  

请参阅      CPU-only developer Dockerfile和      GPU developer Dockerfile      所需的软件包。或者,使用      Docker images,例如      tensorflow/tensorflow:nightly-develtensorflow/tensorflow:nightly-devel-gpu      进行开发,以避免直接在系统上安装软件包。

相关问题