本文主要参考了这篇博文,建议移步这篇文章好些 。

https://blog.csdn.net/weixin_44606139/article/details/127493438

笔者考研,长时间没搞了,本文当个笔记,写的比较傻。
笔者在调Tacotron2的官模的时候出现的tensorflow检测不到GPU的问题+TypeError: Descriptors cannot not be created directly.的问题,具体TypeError那个问题如何解决就直接看输出的建议解决方式即可,如果实在出现了相同问题可以参考这篇

https://blog.csdn.net/qq_45738555/article/details/128693591

正文开始

1.原CUDA卸载

卸载相应的Nsight、CUDA相关工具

主要是保留NVIDIA的图形驱动程序、NVIDIA Physx系统软件、NVIDIA GeForce Experience。
如果你卸载错了,如果是图形驱动程序以及GeForce Experience的话好处理,直接重新从Nvidia官网重新下载即可,官网链接如下:

https://www.nvidia.cn/Download/index.aspx?lang=cn#Nvidia驱动https://www.nvidia.cn/geforce/geforce-experience/download/#Nvidia Geforce Experience

至于Physx

https://www.nvidia.com/en-us/drivers/physx/physx-9-19-0218-driver/

大致删除内容如下

此处还是建议参考前面给出的博文链接里面的图会比较好。
卸载完之后应该是只剩下这些,主要是NVIDIA的图形驱动程序、NVIDIA Physx系统软件和NVIDIA GeForce Experience。



如果有人Nsight Systems无法卸载的话,我是遇到这个问题了的,可以尝试直接不管,之后重新装应该是会覆盖掉的,此处我的问题是应该之前自己动了文件,之后导致目录下的卸载程序找不到对应路径导致出现了找不到的1情况。有兴趣的话可以参考https://softwarekeep.com/help-center/there-is-a-problem-with-this-windows-installer-package其中给出的windows修复工具挺不错的。

2.CUDA的重新安装

此处选择的是CUDA10.2,因为Tacotron2的官模需要,在安装前一定要检查你的驱动版本,理论上高版本的驱动是支持安装低版本的cuda的,cuda的版本是同你显卡驱动挂钩的,cuda同驱动版本对应关系如下:

官网地址如下:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html可以自己再详细看一下。

1)查看驱动版本

进入Nvidia控制面板->帮助->系统信息

笔者此处是支持CUDA10.2的,所以说进入下一步

2)下载CUDA toolkit

下载链接如下,此处还是建议直接下载线上安装版,速度还算可以的。

https://developer.nvidia.com/cuda-10.2-download-archive" />=Windows&target_arch=x86_64&target_version=10&target_type=exenetwork
  • 在下载后直接运行,笔者此处没留图,用的别人的图。

3)安装cuda

1、开始安装

在直接运行后,进入安装界面,选择安装路径,此处还是建议直接默认,如果想装在其他盘也可,此处笔者是多次安装cuda了,老惯犯了,所以说还是默认路径c盘。(建议c盘多分点空间,我200g都不够用了)

2、选择安装方式

点击确认后进入选择页面,此处笔者依旧进行的是自定义安装,懒得折腾环境变量的话就精简安装吧,而且多次安装的情况下也比较建议精简安装。
精简安装是直接一步安装到位,无后续步骤,在安装完后如果没出现警告,就如后续我会提到的那种形式的警告外,就直接点击完成即可。自定义安装式可以参考一下下面。

3、选择你要的组件(此处建议直接默认安装,或许后续你会用到某些东西)

之后选择所需的驱动组件,根据自己需要安装,如果不清楚直接默认即可,虽说Visual Studio Integration不太可能会用到,参考的博文是没有安装的,此处笔者依然安装了,倘若后续需要使用到也可以到Nvidia官网中找。

https://www.nvidia.com/en-us/drivers/#nvidia驱动网站
4、选择安装路径

之后点击下一步,选择安装位置,这个可以自己定,建议还是放到一个目录下,方便找。

笔者的路径如下(一定要记住你路径):

5、安装完成

如果你是正常安装完成的话,应该是直接可以退出的,也就是如下

6、出现警告

如果给了你警告,注意看内容,此处笔者是出现了环境变量过长的问题,如下图:

而笔者还出现了另外一个问题。
此处看得出来还是出现了没安装上Nsight for visual studio 2019的相关组件的问题,不过无大碍,先埋一颗雷在这里。毕竟当下用不上,如果你需要用vs的话,建议后续还是自己安装一下这几个组件。

需要自己手动添加环境变量,笔者也建议这样做,环境变量是有总长度限制的,以防其他环境配置出现同样的问题,强烈建议自己处理一下环境变量。
此处笔者环境变量配置就不做详细介绍了,简单来说自己建变量,此处用的CUDA_v10_2,建好变量后直接改path环境变量,添加%CUDA_v10_2%进去完成引用即可。

3. 解决tensorflow无法检测到GPU的问题

问题描述如下:

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

百度出了许多解决方法,最终笔者尝试了多种方法后采用的方式是直接再去下一个cudart64_100.dll文件放到C:/Windows/System路径下,问题得到了解决,训练也正常地找到了我的贫酸GPU。
配置文件下载路径如下:

https://www.dll-files.com/cudart64_100.dll.html

这个网站东西很多,建议收藏。