问题描述

想使用GPU加快程序运行速度,pip安装完torch后,检测时候报错。

pip install torch

安装时成功了,

但是测试时候报错:

进入python环境(cat) C:\Users\asus>python导入torch>>> import torch>>> print(torch.cuda.is_available())#cuda是否可用>>>print(torch.cuda.get_device_name(0)) #返回设备索引>>>print(torch.cuda.device_count()) # 返回GPU的数量>>>print(torch.cuda.current_device()) # 返回当前设备索引>>> print(torch.rand(3,3).cuda())

从报错来看,发现还不能用。

(cat) C:\Users\asus>python
Python 3.7.10 | packaged by conda-forge | (default, Feb 19 2021, 15:37:01) [MSC v.1916 64 bit (AMD64)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import torch
>>> print(torch.cuda.is_available())
False

解决方案

应该是版本问题,cuda和torch版本不对应。

NVIDIA-SMI 516.94Driver Version: 516.94CUDA Version: 11.7

torch安装的版本应该是torch-1.13.1

我的cuda是11.7从这个网站上可以看到他们的具体对应关系:

https://download.pytorch.org/whl/torch_stable.html

python版本3.7.10,cuda11.7,torch1.13.1。

有一个说法是返回false说明使用的cpu版本torch,不是GPU版本的。

因此需要找GPU版本的,地址如下:

https://download.pytorch.org/whl/torch_stable.html

选好版本,选好使用pip安装还是conda安装,选好什么系统,选好平台cuda版本,然后命令复制过来就行:

pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117

然后就可以了。只不过这个包有点大,大致需要十几分钟才能安装完毕。

(cat) C:\Users\asus>pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117Looking in indexes: https://pypi.org/simple, https://download.pytorch.org/whl/cu117Collecting torchDownloading https://download.pytorch.org/whl/cu117/torch-1.13.1%2Bcu117-cp37-cp37m-win_amd64.whl (2255.6 MB) ---------------------------------------- 2.3/2.3 GB " />

下面的看起来清爽一些:

import torch print(torch.cuda.is_available()) # cuda是否可用 print(torch.cuda.current_device()) # 返回当前设备索引 print(torch.cuda.device_count())# 返回GPU的数量 print(torch.cuda.get_device_name(0))

结果展示:

在我没有安装好gpu版本的时候,海报过这个错误:

但是都随着最终的版本安装完毕而解决掉了。

感谢博主Java并发编程的艺术的文章:

安装Torch GPU版本_Java并发编程的艺术的博客-CSDN博客