• 解决tensorflow-gpu安装过程中出现的tf.test.is_gpu_avaiable()返回false的一部分解决方法


    说起安装tensorflow-gpu的时候出现的一些坑就有点郁闷写个博客记录一下这一些坑,也算给后人一点解决方法

    Question Ⅰ

    第一种出现在import tensorflow as tf 的时候,看截图!
    在这里插入图片描述
    这玩样我一开始安装的时候看别人的教程里貌似也有这问题,就没管它,以为没事情,后来最后的最后,我才发现是我想多了,这玩样解决方法其实很简单也很暴力,不就是没找到cudart64_101.dll这个文件嘛,直接搜索,然后找到你电脑里的cudart64_101.dll,一般在这个目录下C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.1in会有这样的一个文件,然后Ctrl-C,进入C:WindowsSystem32目录,来个Cril-V,over,解决!再来一次你就会发现,哎,他好了
    在这里插入图片描述

    Question Ⅱ

    接下来就是那万恶的GPU问题了
    测试的时候输入 tf.test.is_gpu_available(),然后出现
    在这里插入图片描述
    得嘞,一大堆东西,前面一个waring不用管,出现这个警告的原因是TF2里面这行语句改了,不用管,他自动帮你转换了,直接看最后一行,好家伙,False,毫无疑问,没连上GPU啊

    噢,插句题外话,有些教程里会让你输入tf.Session()来测试,然后你会发现,他会出现这样的一个报错
    在这里插入图片描述
    这是因为这句话是tensorflow1.*的一个语法,在tensorflow2.*把这句话改成了tf.compat.v1.Session(),输入这个以后就会显示对应的信息了
    在这里插入图片描述

    这里有几种可能,我主要讲一下我遇到的,其他的我也就给个其他博主的链接了,毕竟没遇到嘛

    CUDA、cuDNN、tensorflow版本不一致

    对应版本的话,可以看这位博主整理的,还是目前比较的全的https://blog.csdn.net/K1052176873/article/details/114526086
    当然也可以直接上官网https://tensorflow.google.cn/install/source_windows?hl=en#gpu
    这个问题其实我很久以前遇到的,那时候我在装Pytorch,那次以后我就把这玩样全部配好了,这次出现的也不是这个问题,我这里就给出我当时的几种解决思路。

    • 第一种是看看这三个版本对不对应,如果不对应的话可能就需要重新安装一下cuda,主要是CUDA版本,貌似cuDNN版本高一点没啥太大关系,我电脑上的cuDNN也是8.0的而不是表里的7.4。这个的话我就不给链接了,百度一搜太多了,基本上都是讲这个问题的,我也没有看哪个比较的好,所以就自行搜一下吧。
    • 第二种也是我当初遇到的问题,显卡驱动版本过低了,我当初可是被这个坑的不轻,我一直在找CUDA的问题,最终确实驱动的锅。这种的话,你可以下载一个GeForce Experience,官网:https://www.nvidia.cn/geforce/drivers/,它会自动给你更新驱动,不过这东西它需要登录,首次登录要验证邮箱,验证邮件发过来呢又非常的慢,甚至出现一个周才到也是有可能的(别怀疑,我真的遇到过),so,可以选择手动下载安装驱动,在官网里也有,选择对应的信息就好了
    • 第三种是PATH内配置的的问题,在PATH里有两条是需要手动配的,如下,如果没有配的话,也是有可能出现这个问题的
      在这里插入图片描述

    Could not load dynamic library 'cudnn64_7.dll'; dlerror: cudnn64_7.dll not found

    yes,各位看到的是一条报错信息,就是这条报错导致我输出False,我当时最后发现这玩样然后改完后有点想口吐芬芳,就说啊,其他框架可以调用GPU,咋就你TF不行。这段报错出现在 tf.test.is_gpu_available()的输出里,可以仔细悄悄,如果有的话,那解决方法......前面说了复制粘贴的事情,请看Question I
    当我改完这个以后,它就....True了????
    在这里插入图片描述

    没安装GPU版本

    这个问题,enmm......,也不是不可能出现,如果装的是CPU版本的话,那肯定是调用不了GPU的,乖乖卸了重装吧
    验证方法的话,进入tensorflow环境,python下运行下面这些代码

    from tensorflow.python.client import device_lib
    print(device_lib.list_local_devices())
    

    看看输出(图片来自于https://blog.csdn.net/qq_37902216/article/details/89556068
    在这里插入图片描述
    这种的话是CPU版本
    如果是GPU版本的话,应该会有这样的一段在这里插入图片描述
    (因为这个是我写这篇博客时候想到的,那时候我已经解决那个False问题了,但应该在输出里也会有明显的GPU字样,或者反向思维,不是CPU版本那肯定就是GPU版本了)

    卸载

    pip uninstall tensorflow
    

    安装

    pip install tensorflow-gpu==版本号
    

    然后重新验证一下

    主要应该就这些了,如果还有其他的其实可以看一看那一大段输出,或许在里面就会找到答案,我其他的也没遇到过,也不好在此谈论,希望这篇博客对大家能有所帮助。

    如有错误,欢迎指正!

    同时发布在CSDN:https://blog.csdn.net/tangkcc/article/details/120510152

  • 相关阅读:
    dom4j操作xml
    iOS 导航栏的那些事儿
    iOS--定时器(几种定时器的对比)
    iOS--优秀博客记录
    iOS--基础--文件操作
    iOS--动画--GitHub前50名的Objective-C动画相关库
    iOS--资料--类目Category收集
    iOS--资料--开源收集
    iOS--资料--开源项目及库
    ios--控件--自定义封装一个控件
  • 原文地址:https://www.cnblogs.com/tangkc/p/15343633.html
Copyright © 2020-2023  润新知