Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cuda 如何使tensorflow在具有2.x功能的GPU上运行?_Cuda_Tensorflow_Nvidia_Cudnn - Fatal编程技术网

Cuda 如何使tensorflow在具有2.x功能的GPU上运行?

Cuda 如何使tensorflow在具有2.x功能的GPU上运行?,cuda,tensorflow,nvidia,cudnn,Cuda,Tensorflow,Nvidia,Cudnn,我已经在LinuxUbuntu16.04上成功安装了tensorflow(GPU),并做了一些小改动,使其能够与新的UbuntuLTS版本一起工作 然而,我认为(谁知道为什么)我的GPU满足了计算能力大于3.5的最低要求。但事实并非如此,因为我的电脑只有2.1。有没有办法让tensorflow GPU版本与我的GPU一起工作 我问这个问题是因为显然没有办法让tensorflow GPU版本在Ubuntu 16.04上运行,但通过搜索互联网,我发现情况并非如此,事实上,如果不是因为这个不满足的要求

我已经在LinuxUbuntu16.04上成功安装了tensorflow(GPU),并做了一些小改动,使其能够与新的UbuntuLTS版本一起工作

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


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

tensorflow的最新GPU版本(并使用cuDNN访问GPU)

cuDNN:

cuDNN在带有Pascal、Kepler、Maxwell、Tegra K1或Tegra X1 GPU的Windows、Linux和MacOS系统上受支持

  • 开普勒=cc3.x
  • 麦克斯韦=cc5.x
  • 帕斯卡=cc6.x
  • TK1=cc3.2
  • TX1=cc5.3
cuDNN不支持费米GPU(cc2.0、cc2.1)

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


请注意,从未有过官方支持NVIDIA GPU低于cc3.0的cuDNN版本或TF版本。cuDNN的初始版本最初需要cc3.0 GPU,TF的初始版本最初需要cc3.0 GPU。

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

这是一个迫使tensorflow在2.0计算能力GPU(非官方)上运行的技巧:

  • 在中查找文件 Lib/site-packages/tensorflow/python/_-pywrap_-tensorflow_-internal.pyd (orLib/site-packages/tensorflow/python/_-pywrap_-tensorflow.pyd)
  • 用记事本++或类似的东西打开它

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

  • 如果看到3.5*5.2之前的3.0,请将其更改为2.0


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

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

    我查了一下GPU,它看起来很弱。如果我是你,我会使用CPU tensorflow,因为我认为性能不会有太大差异。可能更快。@chasep255我能够在GPU(Python)上使用mxnet。它运行得快了一点。是的,差别不是很大,但是当运行很多历代时,即使是一个小小的差别也会有所帮助。如果让包适应我的机器不需要很多努力,我想我可以尝试一下。@mickkk我注意到tensorflow也支持opencl…不确定这是否可以作为一个替代方案。要尝试一下吗我现在就这么做。如果它工作正常,我会报告。现在我想知道为什么我能够使用cuDNN在GPU上运行mxnet,虽然…原则上你甚至不能在最后一个Ubuntu LTS上安装tensorflow GPU。cuDNN在cc2.1 GPU上不工作。也许mxnet有一个GPU启用路径,不需要cuDNN。这似乎是这样的。注意at-GPU支持cc2.0及更高版本,但它使用“CUDNN加速GPU计算”@RobertCrovella警告:前两个链接是404,我强烈建议不要这样做。在使用GeForce 800M的笔记本电脑上应用此技巧后,结果不正确。是的,很遗憾发现这一点。我的GPU在使用复杂模型(奇怪的错误)时运行不正确,而使用相同的模型(相同的代码)它可以流畅地运行GPU3.0,谢谢大家在上面的实验中报告问题。它可以帮助我简单地让它去理解我必须得到一个新的GPU,如果我想运行TF。)@ TinLuu,请考虑编辑你的答案来反映问题,以便其他可能跳过这些评论的人也不会那样做。谢谢你的建议!我已经更新了答案,以便人们可以轻松做出决定