2017-03-28 35 views
3

我正在尋找一種方法來設置或修改現有的Docker圖像安裝tensorflow,將安裝它,使SSE4,AVX,AVX2和FMA指令可以用於CPU加速。到目前爲止,我已經找到了如何使用bazel How to Compile Tensorflow...CPU instructions not compiled...從源代碼安裝。這些都沒有解釋如何在Docker中執行此操作。因此,我認爲我正在尋找的是您需要添加到現有docker映像的安裝而不使用這些選項,以便您可以在啓用CPU選項的情況下獲得tensorflow的編譯版本。現有的碼頭圖像不這樣做,因爲他們希望圖像在儘可能多的機器上運行。我在Linux PC上使用Ubuntu 14.04。我是新來的碼頭工人,但安裝了tensorflow並使其工作時沒有得到我使用碼頭圖像時得到的CPU警告。我可能不需要這個速度,但我已經看到一些聲稱加速可能很重要的帖子。我搜索了現有的碼頭圖像,但沒有找到任何東西。我需要這個與GPU一起工作,所以需要與nvidia-docker兼容。編譯源碼與Docker的Tensorflow,以獲得CPU加速

我剛剛發現這個docker support for bazel,它可能會提供一個答案,但我不明白它足夠好,知道肯定。我相信這是說你不能在Dockerfile中使用bazel構建tensorflow。您必須使用bazel構建Dockerfile。我的理解是否正確,並且這是從源代碼編譯得到張量流的docker映像的唯一方法?如果是這樣,我仍然可以在如何做到這一點上使用幫助,如果使用現有的docker圖像進行tensorflow,仍然可以獲得其他依賴關係。

+0

[devel Dockerfile](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/docker/Dockerfile.devel)包含一個bazel構建步驟。 – Matt

+1

謝謝。我看到它可以做到。這很有幫助。看起來gpu版本在這裏:[devel-gpu](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/docker/Dockerfile.devel-gpu)。我需要將第一行更改爲在Ubuntu 14.04上運行嗎? FROM使用'from nvidia/cuda:8.0-cudnn5-devel-ubuntu16.04' –

+0

@ZakKeirn你能創建dockerfile嗎?我正在尋找完全一樣的。 –

回答

1

用CPU或GPU支持構建的Dockerfiles可以找到here

希望有幫助!在堆棧溢出和Github問題和東西上花了很多深夜。現在輪到我回來了! :)

特別是GPU的東西真的很毛茸茸的 - 特別是當啓用XLA/JIT/AOT的東西以及圖形變換工具。

嵌入在我的Dockerfiles中的大量駭客。隨時審查和問我問題!

+0

謝謝。 @matt的第一個迴應似乎是引導我去我想去的地方。我希望只能稍微修改tensorflow站點中現有的維護的dockerfile。你是否發現將編譯標誌添加到[devel-gpu](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/docker/Dockerfile.devel-gpu)的問題? –