这是困扰我很久的问题,今天花了一点时间去研究一下为什么我的cuda和cudann安装完成了,却不能使用GPU,原因是我的torch和torchvision是cpu版本的,必须下载GPU版本的才能使torch.cuda.is_available()为True,本文使用将文件下载到文件夹后进行安装。
1、打开Anaconda Prompt(Anaconda3)
使用conda activate opencv 此处opencv是我自己创建的环境名称,此处更换为你自己的环境名
进入你自己需要安装torch的位置,输入python,进入python中
import torch
torch.cuda.is_available()
因为我的电脑解决了这个问题,所以是True,如果您的电脑是False,查看是否是CPU版本的torch.
输入torch.__version__ 如果返回cpu字样,不是下图中的cu字样,说明是cpu版本的torch主要造成了torch.cuda.is_available()为False的主要原因。需要进行卸载torch、torchvision和torchaudio,进行重新安装。
卸载方法如下。找到你需要安装的环境的文件夹,如我的环境名是opencv ,对应的目录如下 D:\Anaconda3\envs\opencv\Lib\site-packages
进入Lib,再进入site_packages,删除torch和torchvision的文件,直接delete即可。
下图是正确安装后的效果。出现cu字样。
此时为了防止报错,采用自己将文件下载下来,采用本地安装。使用命令nvidia-smi进行查看cuda版本。此时对应是12.1,之前我是11.1,不知道怎么更新到12.1了, 所以我还是采用11.1版本,此时您需要根据你的版本,选择手动下载GPU版本的torch和torchvision
进入pytorch网站pytorch网站,下载文件
torch文件
cu代表是GPU版本,cp39是Python3.9,win是windows系统,amd64是64位
选择对应于cuda版本为11.1的文件,如果不知道怎么找对应的cuda版本,可以使用pytorch网站找到cuda11.1,查看对应的torch,torchvision版本。如下图
到这里最后进行pip安装就可以了
将下载的torch和torchvision文件移动到Anaconda3的安转目录下的pkgs文件下。
文件放到这个文件下。然后用命令安装。
安装torch
使用 pip install 安装,pip install D:\Anaconda3\pkgs\torch-1.10.1+cu113-cp39-cp39-win_amd64.whl 这里标红的是我的文件路径,此时您需要更换为您自己的,然后等待安装,将会出现successfully字样,说明安装成功了。
pip install D:\Anaconda3\pkgs\torchvision-0.11.2+cu113-cp39-cp39-win_amd64.whl 然后等待安装,有的情况下需要安装numpy包,不用担心,他会自动安装。
这个时候可以进入python
使用
import torch
torch.cuda.is_available()
此时解决了CPU版本的torch和torchvision文件问题。