【问题标题】:How can I make tensorflow run on a GPU with capability 2.x?如何让 tensorflow 在具有 2.x 能力的 GPU 上运行?
【发布时间】:2016-11-27 07:41:39
【问题描述】:

我已在 Linux Ubuntu 16.04 上成功安装了 tensorflow (GPU),并进行了一些小改动以使其与新的 Ubuntu LTS 版本兼容。

但是,我认为(谁知道为什么)我的 GPU 满足了大于 3.5 的计算能力的最低要求。情况并非如此,因为我的 GeForce 820M 只有 2.1。有没有办法让 tensorflow GPU 版本与我的 GPU 一起工作?

我问这个问题,因为显然没有办法让 tensorflow GPU 版本在 Ubuntu 16.04 上运行,但通过搜索互联网我发现情况并非如此,而且如果不是因为这个不满足的要求,我确实让它几乎可以工作.现在我想知道 GPU 计算能力的这个问题是否也可以解决。

【问题讨论】:

  • 我查看了那个 GPU,它看起来很弱。如果我是你,我只会使用 CPU tensorflow,因为我认为不会有太大的性能差异。甚至可能更快。
  • @chasep255 我能够在 GPU (Python) 上使用 mxnet。它跑得快了一点。是的,差异并没有那么大,但是当运行很多 epoch 时,即使是很小的差异也会有所帮助。如果使软件包适应我的机器不需要很多努力,我想我可以尝试一下。
  • @mickkk 我注意到 tensorflow 也支持 opencl ...不确定这是否可以用作替代方案。现在要尝试像那样构建它。如果它工作正常会报告。

标签: cuda tensorflow nvidia cudnn


【解决方案1】:

tensorflowrequire compute capability 3.5 or higher的最新GPU版本(并使用cuDNN访问GPU。

cuDNNalso requires a GPU of cc3.0 or higher:

使用 Pascal、Kepler、Maxwell、Tegra K1 或 Tegra X1 GPU 的 Windows、Linux 和 MacOS 系统支持 cuDNN。

  • 开普勒 = 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。

【讨论】:

  • 现在我想知道为什么我能够使用 cuDNN 在 GPU 上运行 mxnet... 原则上你甚至不能在最后一个 Ubuntu LTS 上安装 tensorflow GPU..
  • cuDNN 无法在 cc2.1 GPU 上运行。也许 mxnet 有一个启用 gpu 的路径,它不需要 cuDNN。 here 似乎就是这种情况。请注意,cc2.0 及更高版本声称支持 GPU,但它使用“CUDNN 来加速 GPU 计算”。
  • @RobertCrovella 警告:前两个链接是 404
【解决方案2】:

2017 年 9 月更新:没有问题和痛苦就没有办法做到这一点。我已经尝试了所有方法,甚至应用了以下技巧来强制它运行,但最后我不得不放弃。 如果您对 Tensorflow 很认真,请继续购买 3.0 计算能力 GPU。

这是强制 tensorflow 在 2.0 计算能力 GPU 上运行的技巧(非官方):

  1. 在中查找文件 库/站点包/tensorflow/python/_pywrap_tensorflow_internal.pyd (或Lib/site-packages/tensorflow/python/_pywrap_tensorflow.pyd)
  2. 用 Notepad++ 或类似的东西打开它

  3. 使用正则表达式搜索3\.5.*5\.2的第一次出现

  4. 你看到3.5*5.2之前的3.0,改成2.0

我如上改变,可以用GPU做简单的计算,但在尝试实际项目时遇到奇怪和未知的问题(那些项目在3.0计算能力的GPU上运行良好)

【讨论】:

  • 我强烈建议不要这样做。在我使用 GeForce 800M 的笔记本电脑上应用此技巧后,结果不正确。
  • 是的,很遗憾发现这一点。我的 GPU 也被发现在复杂模型下运行不正确(奇怪的 bug),而在相同的模型下(相同的代码),它可以在 GPU 3.0 上流畅运行
  • 感谢大家报告上述实验中的问题。它可以帮助我简单地放手,并了解如果我想运行 TF,我必须获得一个新的 GPU。 :) @TinLuu,请考虑编辑您的答案以反映问题,以便其他可能跳过这些 cmets 的人也不会那样做!
  • 感谢您的建议!我已经更新了答案,以便人们可以轻松做出决定
【解决方案3】:

我找到了如何在计算能力 2.1 NVIDIA GeForce 525M for python 上安装 Tensorflow-gpu,诀窍很简单,使用 tensorflow 的存档版本,我使用的是 1.9.0 使用 PIP 打包的 python 命令是 pip install tensorflow-gpu==1.9.0 cuDNN 版本是 7.4.1

【讨论】:

    猜你喜欢
    • 2021-04-07
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多