在运行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安装即可。