原因:
CUDA是NVIDIA的并行计算平台和应用程序接口,用于在NVIDIA GPU上进行加速计算。不同的CUDA版本与不同的PyTorch版本可能需要特定的兼容性,以确保正确的GPU加速。
在虚拟环境中导入的torch版本可能是与该虚拟环境关联的版本,而不是系统中全局安装的版本。
解决方法:
如果想在虚拟环境中使用与系统中的CUDA版本相匹配的torch版本,可以尝试在虚拟环境中使用以下命令来安装特定版本的torch。
首先,查看CUDA和cudnn版本:
1.虚拟环境
import torch
print(torch.cuda.current_device()) # 返回当前设备索引
print(torch.cuda.device_count()) # 返回GPU的数量
print(torch.cuda.get_device_name(0)) # 返回gpu名字,设备索引默认从0开始
print(torch.cuda.is_available()) # cuda是否可用
print(torch.version.cuda) # cuda版本
print(torch.backends.cudnn.version()) #cudnn
我的虚拟环境cuda10.2
2.系统环境
nvcc -V
我的系统环境cuda11.6
然后,使用pip卸载torch和torchvision,去官网下载whl包,比如你要安装torch=1.12.1,不用pip install torch==1.12.1,可以尝试pip install torch==1.12.1+cu116 或者官网下载对应的whl再pip install xxxx.whl