2016-07-23 111 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