简介
最近集群系统升级了,CUDA的版本变为了12.2,而安装的Torch版本为11.3,明显出现了版本冲突。但是问题在于,Torch官网支持CUDA12以上的版本似乎都是Torch2.0及以上版本了。好在Torch2.x 完全兼容Torch1.x,所以安装Torch2.x也能适用于实验的相关配置。
问题描述
可发现上述并没有12.2版本的Torch。所以这里直接装 cuda 12.1 版本的Torch,有些文档也探究了 cuda 11.8也可以。这个我没试,我只试了cuda 12.1的。
但是,问题在于直接使用 torch 官网提供的 命令,会发现系统不断报错,我的系统中配置了清华源,可见我之前的博客【【亲测】集群环境中MMDetection3.0环境配置_mmdetection群-CSDN博客】
这样配置下,新的虚拟环境我假设为 python3.8。我直接使用命令
这个命令报了个 清华源无 nvidia 那个链接。
conda install pytorch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 pytorch-cuda=12.1 -c pytorch -c nvidia
将 -c nvidia 去掉后。清华源仍找不到,主要是清华源貌似是2022前的包多些,torch新版本近期更新,无法有效获得。
conda install pytorch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 pytorch-cuda=12.1 -c pytorch
解决方案
直接使用命令不行,那就直接whl安装,这个立竿见影。具体链接【https://download.pytorch.org/whl/cu121】。
依次找到 torch / torchvision / torchaudio,注意保持下载文件的对应性
以torch为例说明:
下载后使用pip install ***.whl 即可
环境验证脚本
# -*- coding:utf-8 -*-
import os
import torch
if __name__=="__main__":
print(torch.__version__) # 查看pytorch安装的版本号
print(torch.cuda.is_available()) # 查看cuda是否可用。True为可用,即是gpu版本pytorch
print(torch.cuda.get_device_name(0)) # 返回GPU型号
print(torch.cuda.device_count()) # 返回可以用的cuda(GPU)数量,0代表一个
print(torch.version.cuda)