tensorflow-gpu无法调用GPU的解决办法

配置:i5 6300HQ
显卡是GTX950M

tensorflow-gpu无法调用GPU的解决办法_第1张图片
之前用tensorflow整天检测都是说False,捣鼓了一天,总结分享一下。

因为要使用pytorch,所以安装的cuda10.2(这个cuda指的是英伟达官网那个2G多的exe安装文件)

tensorflow-gpu无法调用GPU的解决办法_第2张图片

但是,tensorflow官网上展示的cuda版本和tensorflow-gpu版本对照中,并没有cuda10.2的版本,就很气。
tensorflow-gpu无法调用GPU的解决办法_第3张图片

问题一:tensorflow-gpu 1.x版本的安装

这个其实比较好解决
比如我要安装tensorflow-gpu 1.15.0版本

conda install tensorflow-gpu==1.15.0

这样子安装的话,它就会在conda对应的虚拟环境里面自己匹配一个cudatoolkit和cudnn
tensorflow-gpu无法调用GPU的解决办法_第4张图片
对应的文件夹位置是(我的虚拟环境名字是tensorflow)
tensorflow-gpu无法调用GPU的解决办法_第5张图片

参考别人大佬的分享:win10安装cuda10.2+tensorflow 1.14.0

问题二:tensorflow-gpu 2.x版本的安装

以2.3.1版本举例

pip install tensorflow-gpu==2.3.1

安装完后运行

tf.test.is_gpu_available()

会提示
Could not load dynamic library ‘cudart64_101.dll’; dlerror: cudart64_101.dll not found

首先,下载一个cudart64_101.dll
去万能dll网站下 dll
tensorflow-gpu无法调用GPU的解决办法_第6张图片

然后放在之前cuda10.2的安装位置里面
例如:E:\Program Files (x86)\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin
tensorflow-gpu无法调用GPU的解决办法_第7张图片
红色是安装cuda10.2时候就有的了,蓝色是自己粘贴放进去的

然后运行

tf.test.is_gpu_available()

新错误提示:
cudaGetDevice() failed. Status: cudaGetErrorString symbol not found.

参考cudaGetDevice() failed. Status:cudaGetErrorString symbol not found.
参考2

C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common

再粘贴一份放在PhysX里面
tensorflow-gpu无法调用GPU的解决办法_第8张图片

测试
tensorflow-gpu无法调用GPU的解决办法_第9张图片
ok了
tensorflow-gpu无法调用GPU的解决办法_第10张图片

其它

注意确认环境变量的设置
tensorflow-gpu无法调用GPU的解决办法_第11张图片
参考tensorflow官方设置稳妥一点
tensorflow-gpu无法调用GPU的解决办法_第12张图片

更新,tensorflow-gpu==2.3.1
哪怕测试的时候满足了条件
实际运行的时候还是会报错
2021-12-27 20:36:56.479603: F .\tensorflow/core/kernels/random_op_gpu.h:232] Non-OK-status: GpuLaunchKernel(FillPhiloxRandomKernelLaunch, num_blocks, block_size, 0, d.stream(), gen, data, size, dist) status: Internal: no kernel image is available for execution on the device

在这里插入图片描述
后续更新:是Tensorflow -GPU 2.3取消了对我电脑显卡GTX950的支持

你可能感兴趣的:(工具学习使用,tensorflow,深度学习)