我正在寻找一种方法来设置或修改现有的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镜像进行张量流动,我仍然可以得到其他依赖关系。
答案 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-devel
和tensorflow/tensorflow:nightly-devel-gpu
进行开发,以避免直接在系统上安装软件包。