2016-07-23 141 views
16

我已經在Linux Ubuntu 16.04上成功安裝了tensorflow(GPU),並做了一些小改動,以便使它能夠與新的Ubuntu LTS版本一起使用。然而,我想(誰知道爲什麼)我的GPU滿足了大於3.5的計算能力的最低要求。情況並非如此,因爲我的GeForce 820M只有2.1。有沒有辦法讓我的GPU能夠運行張量流GPU版本?如何使tensorflow在2.0版本的GPU上運行?

我在問這個問題,因爲顯然沒有辦法使得張量流GPU版本在Ubuntu 16.04上工作,但通過搜索互聯網我發現情況並非如此,並且事實上我使它幾乎工作,如果它不是這個不滿意的需求。現在我想知道這個GPU計算能力問題是否也可以得到解決。

+0

我擡起頭那GPU,它看起來很弱。如果我是你,我只會使用CPU tensorflow,因爲我不認爲會有很大的性能差異。甚至可能會更快。 – chasep255

+0

@ chasep255我能夠在GPU(Python)上使用mxnet。它跑得快一點。是的差別不是很大,但是當運行很多時代時,即使有一點差異也可以提供幫助。如果將軟件包適配到我的機器上並不需要很多努力,我想我可以試試看。 – mickkk

+0

@mickkk我注意到張量流也支持opencl ...不知道這是否可以用作替代。現在就試着去建造它。如果工作正常,會報告回來。 –

回答

9

用於訪問GPU的tensorflow的GPU版本requires compute capability 3.0 or higher (and uses cuDNN)。 From here

TensorFlow GPU支持要求擁有NVidia Compute Capability> = 3.0的GPU卡。

cuDNN also requires a GPU of cc3.0 or higher

cuDNN支持與帕斯卡爾,開普勒,麥克斯韋,Tegra的K1或Tegra的X1的GPU的Windows,Linux和MacOS系統。

  • 開普勒= cc3.x
  • 麥克斯韋= cc5.x
  • 帕斯卡= cc6.x
  • TK1 = cc3.2
  • TX1 = cc5.3

cuDNN不支持Fermi GPU(cc2.0,cc2.1)。

cuDNN也不支持較舊的GPU(例如計算能力1.x)。

請注意,從來沒有 cuDNN版本或正式支持小於cc3.0的NVIDIA GPU的任何版本的TF。 cuDNN的初始版本首先需要cc3.0 GPU,而最初版本的TF則是通過需要cc3.0 GPU開始的。

+0

現在我想知道爲什麼我能夠使用cuDNN在GPU上運行mxnet,儘管...原則上,您甚至無法在最後一個Ubuntu LTS上安裝tensorflow GPU .. – mickkk

+0

cuDNN無法在cc2.1 GPU上運行。也許mxnet有一個不需要cuDNN的啓用gpu的路徑。這似乎是[這裏]的情況(http://mxnet.readthedocs.io/en/latest/how_to/build.html)。請注意,GPU支持要求cc2.0及更高版本,但它使用「CUDNN **加速** GPU計算」。 –

6

Sep.2017更新:沒有辦法沒有問題和痛苦。我嘗試了所有的方法,甚至在低於技巧的情況下強制運行,但最後我不得不放棄。 如果您認真對待Tensorflow,請繼續購買3.0計算能力的GPU。

這是一招,迫使2.0計算能力的GPU tensorflow運行(不正式):

  1. 查找 庫/站點包/ tensorflow /蟒蛇/ _pywrap_tensorflow_internal.pyd 文件(orLib /站點包/ tensorflow /蟒蛇/ _pywrap_tensorflow。PYD)
  2. 使用用記事本++或類似的東西

  3. 搜索的3\.5.*5\.2第一次出現打開它的正則表達式

  4. 你看,3.0之前3.5 * 5.2,將其更改爲2.0

我改變了上面的方法,可以用GPU做簡單的計算,但是在嘗試實際項目時遇到奇怪和未知的問題(這些項目運行良好,具有3.0計算能力GPU)

+5

我強烈建議不要這樣做。在GeForce 800M筆記本電腦上使用我的筆記本電腦後,不正確的結果。 –

+1

是的,很難找出答案。我的GPU也被發現使用錯誤的複雜模型(奇怪的錯誤),而同一模型(相同的代碼),它可以平滑運行與GPU 3.0 –

+2

謝謝你們在上面的實驗中報告問題。它可以幫助我簡單地讓它走,並明白如果我想運行TF,我必須獲得新的GPU。 :) @TinLuu,請考慮編輯您的答案以反映問題,以便其他可能跳過這些評論的人也不會這樣做! – mayank