如何在具有 2.x 能力的 GPU 上制作 tensorflow 运行?

How can I make tensorflow run on a GPU with capability 2.x?

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

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

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

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

cuDNN also requires a GPU of cc3.0 or higher:

cuDNN is supported on Windows, Linux and MacOS systems with Pascal, Kepler, Maxwell, Tegra K1 or Tegra X1 GPUs.

  • 开普勒 = cc3.x
  • 麦克斯韦=cc5.x
  • 帕斯卡 = cc6.x
  • TK1 = cc3.2
  • TX1 = cc5.3

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

cuDNN 也不支持较旧的 GPU(例如计算能力 1.x)。

请注意,从来没有正式支持低于 cc3.0 的 NVIDIA GPU 的 cuDNN 版本或任何版本的 TF。 cuDNN初始版本需要cc3.0 GPU,TF初始版本需要cc3.0 GPU。

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

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

  1. 在以下位置查找文件 Lib/site-packages/tensorflow/python/_pywrap_tensorflow_internal.pyd (orLib/site-packages/tensorflow/python/_pywrap_tensorflow.pyd)
  2. 用记事本++或类似的东西打开它

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

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

我按照上面的方式进行了更改,可以使用 GPU 进行简单的计算,但是在尝试实际项目(那些项目 运行 具有 3.0 计算能力的 GPU)时遇到了奇怪和未知的问题

我发现如何在 python 的计算能力 2.1 NVIDIA GeForce 525M 上安装 Tensorflow-gpu,技巧很简单,使用 tensorflow 的存档版本,我使用 1.9.0 使用 PIP 打包的 python 命令是 pip 安装 tensorflow-gpu==1.9.0 cuDNN 版本为 7.4.1