在运行pycharm项目的时候,出现了以上的报错,主要可以归结于以下两个个方面:
1、没有安装GPU版本的pytorch,只是使用清华的镜像地址下载了CPU版本的pytorch
2、安装的CUDA和安装的pytorch的版本不相互对应
我使用 pip list 来查看我在该环境下安装了哪些依赖项,发现自己的torch是CPU版本的,
如何区分的呢?主要通过安装的环境的版本号的后面时候加上了cu,比如说下面这幅图就可以看出这里采用的CUDA版本号为11.3,所以在我的环境里面没有安装GPU版本的torch.
找到问题后,我们就可以进行解决了。
如果自己不是CUDA版本的torch,可以使用pin uninstall torch的命令来卸载已经安装好的torch后继续下面的操作.
第一步:查看自己电脑上安装的python版本,因为python的版本对应者pytorch的版本,pytorch的版本又对应着CUDA的版本。所以先查看自己的python的版本,那么如何查看自己的电脑上的python版本呢?
可以在pycharm的Terminal中,在自己使用的环境下,输入python:下面图中的python 3.6.2就是我的Python的版本号。
如何查看自己项目的环境配置,可以通过pycharm上:
File—Settings—Project–Python Interpreter
如何进入到Terminal,可以通过下面的提示。
第二步:下载离线的torch包。找到python对应的版本,就可以在下面的这个网站中选择现在对应的torch版本,注意我们选择下载torch时要注意python的版本号,并且在选择的时候选择cu开头的链接下载,cu对应的CUDA的版本,比如这里的python版本为3.6,那么只要选择cp36的链接下载
torch下载包链接
cu102/torch-1.7.1-cp38-cp38-linux_x86_64.whl
- cu102:表示cuda版本为10.2,
- torch-1.7.1:表示torch版本为1.7.1
- cp38:表示适用python版本为3.8
- linux:表示适用于linux系统
- x86_64:表示同时兼容32和64位系统、
第三步:下载对应版本的CUDA。在上面下载torch的时候也可以看到自己对应的CUDA的版本
点击 CUDA下载官网 进入到CUDA的下载官网,往下滑,直到最下面,然后找到下图提示的内容
就可以看到CUDA的很多版本的下载连接,选择我们需要的版本进行下载
选择好下载的版本后,进入下载页面选择我们下载的系统,以及下载的windows系统的版本,和下载方式就可以进行CUDA的下载
下载好CUDA就可以对它进行安装了
点击我们下载好的CUDA的exe程序后,就会出现CUDA的安装页面,这里显示的是安装地址,一般可以不做处理,安装到它默认的地址。
在安装选项中选择自定义安装,然后点击下一步,后面的步骤相同,一直点击(下一步)直到完成CUDA的安装。
在安装完成之后,可以打开系统的环境变量来检查CUDA
是否已经加入到环境变量中了,默认情况下是自动添加到环境变量中的。
检查是否安装成功:打开cmd,输入 nvcc -V, 出现你的CUDA的版本信息就说明安装成功
第四步:将刚才下载好的torch包进行安装,放在项目的目录下:我这里的目录的路径为:D:\zuoye\ReID\deep-person-reid,在pycharm进入到Terminal中,进入到自己的环境中,pip安装对应的torch包,就可以实现GPU版本的torch的安装,也就可以解决上面的问题了。
以上就是这个错误的全部解决方法,总结一下就是:找到对应的python版本,下载python版本对应下的GPU版本的torch文件包,然后下载CUDA,将下载的包放在项目下,然后进行pip安装即可。