第二个版本CUDA安装历程

#前情提要:
1、目标代码标示操作环境为Python 3.6, torch 1.3.0, transformers 2.2.1
2、本机之前安装过CUDA11.7,安装CUDA的最高版本可达12.2
3、本文主要按照时间顺序记录

#3月22日凌晨:
1、首先git clone该程序,创建环境,安装对应的transformers,并下载torch的whl文件进行pip安装
2、报错,截取后两行,内容如下:
from torch._C import *
ImportError: DLL load failed: The specified module could not be found.

#3月22日下午:
1、看别人的记录说是大概率pytorch与CUDA和cuDNN版本不合(链接:https://blog.csdn.net/qq_39685968/article/details/110824588),于是去查询torch==1.3.0对应的CUDA和cuDNN版本
2、在cmd中输入nvcc -V和nvidia-smi查看CUDA版本,有两个版本,一个是支持的最高版本,另一个是运行版本(链接:添加链接描述
3、经过查询,在pytorch的版本页面(链接:添加链接描述)当时选择的torch版本可能就是包含指定了CUDA版本是10.1还是10.0,于是重新再该页面下载cu101和cp36以及win版本的torch
4、接着去CUDA官网下载10.1版本的CUDA Toolkit—>关于network版本还是local版本///CUDA toolkit需要登录账号后下载
5、此时同时验证了一下tensorflow对应的版本(似乎并没有写到需要tensorflow,链接:添加链接描述
6、然后就是NVIDIA账户登陆以后,去查询如何在windows上安装第二个版本的CUDA。
整体思路是安装两个CUDA,环境变量中需要设置两个路径,并且将默认路径改为你当前需要的那一个。(在使用CUDA安装过程中的新环境变量与默认路径一般是自动添加了,注意检查,如果没有自动添加就再添加上)
7、安装CUDA的过程中注意:
(1)一开始是解压缩目录,安装完毕自动清除;
(2)已安装过CUDA全部的只需要部分安装,选择驱动程序组件(链接:添加链接描述
(3)只要最后的界面没报错都可以算作安装成功,不用在意说什么版本
8、但是安装时显示安装失败,查阅资料发现一般是没有装VS的话不用勾选Visual Studio Integration。于是取消勾选VS Integration。仍然失败。
9、查阅资料发现可以先不安装导致失败的包,等其他部分安装好以后再安装缺失的组件。
按此操作,先取消安装Nsight Systems和Nsight compute。
然后安装以后显示成功了,就是没有安装Nsight Systems和Nsight compute的缺失版CUDA------>当时以为是初步成功,很开心

#3月22日晚上:
1、接着重新打开CUDA安装程序,想要补充上Nsight Systems和Nsight compute。失败。
2、决定卸载部分缺失的CUDA,并且安装VS后再安装CUDA,即只用选取部分驱动程序即可
3、安装了VS2022,但显示windows installer service could not be accessed错误,以及后续显示“模块msi.dll已加载,但对DllRegisterServer的调用失败,错误代码为0x80040201”,原因似乎是电脑中以前安装过VS2012以及VS2019的残余,尝试了VS官方的清除软件,但最后是使用geek强制删除的(geek是神)
4、然后发现CUDA10.1版本不能与VS2022兼容,决定改为VS2019
5、重新下载VS2019并安装,报错“无法安装microsoft.visualstudio.minshell.msi.rescources”,还有2203报错。查询资料发现是环境变量中的系统变量指向一个并不存在的路径。因此将环境变量中的Temp和Tmp两个路径都删除了
—>此时已经准备重装系统了,因为若是VS导致的问题,重装系统是最后一步
---->删掉两个环境变量之后,VS2019安装成功了

#3月24日早上:
1、重新安装10.1版本的CUDA,选择部分驱动组件安装,系统提示:“The installed version of Nsight Visual Studio Edition is newer than the one to be installed"(后来发现实际上并没有影响)。此时的环境变量中自动添加了新的版本的变量v10.1,并且发现默认的环境变量确实已经换成了v10.1
2、继续把下载好的cuDNN中的对应目录解压放到了CUDA的目录下
3、在anaconda中创建环境,安装对应的包,更换镜像,降级pip到21.1.2。安装好torch后运行python命令仍然显示“from torch._C import * ImportError: DLL load failed: 找不到指定的模块”。
4、查找资料发现新的验证torch安装正确与否方式:在待检测的环境中输入python,然后输入import torch。结果显示确实并没有安装上

#3月24日中午:
1、继续查找资料,看了很多经验帖,这个帖子(链接:添加链接描述)起了作用。
实际的原因是torch与python的版本不对应。
2、最后确定下来的python版本应该是3.6.13(自动匹配的),一开始anaconda创建环境时使用的是3.6.0. 而git仓库中的python安装环境指示的是3.6.(确实没有说错,3.6.13怎么不算是3.6呢)。

#写在后面:
以上就是这次第二个CUDA版本的安装和使用的全纪录,当import torch并没有报错以及python运行程序时显示错误,但是错误显示缺少的包是scikit-learn时,激动到心脏快要跳出来。这是没有亲自查找资料安装困惑崩溃又柳暗花明的人无法体会的。
把这个过程写下来,仅以此文作为记录,也希望能为后来者提供参考。

本文中所提到的参考链接:
[1]: https://blog.csdn.net/qq_39685968/article/details/110824588
[2]: https://blog.csdn.net/weixin_39518984/article/details/111406728
[3]: https://download.pytorch.org/whl/torch_stable.html
[4]: https://blog.csdn.net/bruce_zhao1407/article/details/122476539?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171109084616800182731097%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171109084616800182731097&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-2-122476539-null-null.nonecase&utm_term=CUDA&spm=1018.2226.3001.4450
[5]: https://blog.csdn.net/qq_50677040/article/details/132131346
[6]: https://zhuanlan.zhihu.com/p/138530259

  • 26
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值