解决win10使用GPU跑程序遇到的一系列报错

  • 安装cupy包
  • 使用cupy包的时候报错 ImportError: DLL load failed: 找不到指定的模块。
  • 卸载cuda11.5、安装cuda10.2
  • 安装适配于cuda10.2的cudnn
  • 报错CUDA path could not be detected. Set CUDA_PATH environment variable if CuPy fails to load.
  • 报错 module 'cupy' has no attribute 'scatter_add'
  • Anaconda配cupy环境报错
  • 报错 ModuleNotFoundError: No module named 'PIL'
  • 报错 cupy.cuda.compiler.CompileException: nvrtc: error: failed to open nvrtc-buil

安装cupy包

用GPU跑程序用了cupy包。

pip install cupy-cuda102

使用cupy包的时候报错 ImportError: DLL load failed: 找不到指定的模块。

这是因为我的cuda是11.5的,为了用用cupy,尝试了以下几种方法,均不行。
1.下载cupy的cuda115版本。
2.卸载cupy的cuda115版本,下载cupy的cuda102版本,但是此时cuda还是11.5版本。
3.下载cuda10.2版本,此时电脑的cuda10.2和11.5共存,如下图所示。

最后发现,能成功的只有一个,那就是cuda10.2+cupy的cuda102。此时电脑只能有一个cuda版本,也就是10.2,所以需要卸载cuda11.5。

这里面有个坑也踩了。如下图所示,下载cuda10.2之前,必须要卸载完11.5

不然就会出现这种情况:

卸载cuda11.5、安装cuda10.2

打开控制面板,卸载所有cuda11.5的文件,如下图所示

cuda10.2官网网址:https://developer.nvidia.com/cuda-10.2-download-archive

卸载完11.5,再下载10.2时候,竟然还会出现下面的警告:
这个时候,可以无视,因为的确是先卸载完11.5后下载的10.2。


然后在命令行输入:出现如下状态,表示安装成功。

nvcc -V


此时观察NVIDA的控制面板,竟然还是11.5,不过可以无视,因为这不影响跑程序。

安装适配于cuda10.2的cudnn

官网:https://developer.nvidia.com/rdp/cudnn-archive
安装包下载完解压

把所有解压的文件放到:NVIDA GPU Computing Toolkit 里面的V10.2下面

报错CUDA path could not be detected. Set CUDA_PATH environment variable if CuPy fails to load.


根据报错的这个路径,打开这个environment文件。

里面的cuda_path改成cuda的路径。

这个路径在哪,其实就在环境变量配置里面。


把这个路径放到environment文件里,如下图所示。报错就解决了。

报错 module ‘cupy’ has no attribute ‘scatter_add’

把cuda降到10.2之后,改了一大堆,程序终于能运行了,可是运行一会就报这个错。

查了半天,在stackoverflow上面找到了方法,使用下面这句话把cupy版本降低。

pip install "cupy-cuda102<8.0.0"



然后程序终于用GPU跑起来了。

Anaconda配cupy环境报错

一开始是全部在Anaconda里面配的环境,最后发现无论怎么弄,使用cupy包总报错。
于是直接用pip了,最后把所有需要的包又在电脑的python文件夹里装了一份。然后pycharm环境直接用了python的环境。最后能跑成。

报错 ModuleNotFoundError: No module named ‘PIL’

问题在于Pillow库太老了。执行以下两个命令。

pip uninstall pillow
pip install pillow

报错 cupy.cuda.compiler.CompileException: nvrtc: error: failed to open nvrtc-buil

还出现类似:找不到nvrtc64_101_0.dll的问题

这个问题是遇到最玄学的一次。

解决办法就是,重启一下电脑。

重启电脑后,就不报错了,转而报module ‘cupy’ has no attribute 'scatter_add’这个错,这个错就按照上面讲的解决就完事。

最后GPU成功跑起来了。区别可以看到,用cpu跑程序的话,cpu占用量在80%以上,用GPU跑程序,cpu占用量只有16%

解决win10使用GPU跑程序遇到的一系列报错相关推荐

  1. 解决金仓数据库安装时安装VC++2013报错问题:不受信任提供程序信任的根证书中终止

    解决金仓数据库安装时安装VC++2013报错问题:不受信任提供程序信任的根证书中终止 安装微软的信任证书: 1.点击链接下载微软证书:http://download.microsoft.com/dow ...

  2. Spring Cloud的Eureka Server(注册中心)在程序启动的时候报错:Cannot execute request on any known server

    问题描述:Spring Cloud的Eureka Server(注册中心)在程序启动的时候报错:com.netflix.discovery.shared.transport.TransportExce ...

  3. 小程序真机调试报错: errMsg“:“hideLoading:fail:toast can‘t be found“?

    小程序真机调试报错: errMsg":"hideLoading:fail:toast can't be found"? 上线小程序后报错,导致toast直接不显示或者一闪 ...

  4. Java多线程读取excel文件_解决springboot 多线程使用MultipartFile读取excel文件内容报错问题...

    springboot项目开启多线程 启动类加注解开启 @EnableAsync,实现类方法加注解 @Async 前端页面 报错信息 java.io.FileNotFoundException: C:\ ...

  5. 微信小程序使用vant weapp报错

    微信小程序使用vant weapp报错 错误一:构建错误 错误二:["usingComponents"]["van-button"] 未找到 我的安装流程 1. ...

  6. 小程序插件封装Component报错 Component is not found in path……或 component is not defined

    小程序插件封装Component报错 小白程序猿,小程序在封装插件的时候遇到 Component报错,解决方式. # 提示为Component is not found in path--解决方式:排 ...

  7. Centos6.X升级glibc解决“libc.so.6 version GLIBC_2.14 not found”报错问题

    Centos6.X升级glibc解决"libc.so.6 version GLIBC_2.14 not found"报错问题 参考文章: (1)Centos6.X升级glibc解决 ...

  8. mysql主从skip1677_解决字符集不同引起的主从同步异常1677报错问题

    之前的一篇文章中,我们遇到了主从同步的一个问题,错误代码:1236,详细请看 今天,突然发现测试环境的主从同步关系断开了,报错代码:1677 一.问题错误信息 Last_SQL_Errno: 1677 ...

  9. win10 x64下安装oracle 12c出现[INS-30131]报错的解决方案

    win10 x64下安装oracle 12c出现[INS-30131]报错的解决方案 参考文章: (1)win10 x64下安装oracle 12c出现[INS-30131]报错的解决方案 (2)ht ...

最新文章

  1. JS - 讨论 - 编码习惯 - JavaScript代码到底要不要写分号?
  2. 技巧心得:Linux技巧小总结
  3. python2读文件,python之文件的读写(2)
  4. shell中单引号、双引号、反引号、反斜杠的使用
  5. django中url与view配置方法
  6. 在 Hexo 中使用 iconfont 图标
  7. hdmi接口有什么用_什么是SDI接口?SDI接口和HDMI接口有什么区别?终于有人讲明白了...
  8. 求学信计算机专业英语,求学信模板英文
  9. 域名注册管理机构域名注册服务机构的基本概念
  10. 如何使用Better Zip软件的密码保护功能
  11. JAVAWEB-NOTE01
  12. 医疗管理系统(Java毕业设计-Springboot项目)
  13. 现货黄金和纸黄金的区别?
  14. oracle全角改半角,Oracle全角数字转换半角数字
  15. Count Min Sketch: from Finding the Majority Element problem to heavy hitter problem,统计元素频率的利器
  16. (译)理解ConstraintLayout性能上的好处
  17. Python3 print pprint
  18. MATLAB安装时为英文如何切换中文
  19. [RK3288][Android6.0] 调试笔记 --- ro.serialno的获取
  20. HTTP、HTTPS、TCP、UDP 协议基础知识

热门文章

  1. mysql tomcat列表增删改查_Tomcat-Database
  2. mysql多表联查到新的表中_MySQL中的多表联查
  3. python建立ip代理池_Python搭建代理IP池实现存储IP的方法
  4. layui表单的ajax联动,layui的select联动实现代码
  5. 解释下列术语计算机系统结构,计算机系统结构第5章部分习题参考答案
  6. nginx文件系统大小_详解Nginx系列
  7. php的web表单系统源码毕设_从业十多年看了千百套Java毕设项目,整理出100个精品!免费分享...
  8. 网易邮箱大师如何屏蔽邮件 屏蔽垃圾邮件的方法步骤
  9. 电脑重装系统按哪个键
  10. 使用CAS代替synchronized