1. 环境配置及安装

可以参考该篇完成虚拟环境创建及镜像源添加

# 安装指定版本torch cuda  利用设置的镜像源
conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit==10.0  
# 创建环境,同时指定tensorflow cuda 版本
conda create -n py39tf28 python==3.9 tensorflow-gpu==2.8 cudatoolkit==11.6
# 指定通道库安装
# CUDA 11.6
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge

上述torch cuda安装成功后,可以进行测试验证

# cuda 测试
import torch
x = torch.Tensor([1.0])
xx = x.cuda()
print(xx) 
# cuDNN test
from torch.backends import cudnn
print(cudnn.is_acceptable(xx)) # True

###########
import torch
 
torch.cuda.is_available()
# True
 
torch.cuda.current_device()
# 0
 
torch.cuda.device(0)
# <torch.cuda.device object at 0x0000023034332438>
 
torch.cuda.device_count()
# 1
 
torch.cuda.get_device_name(0)
# 'GeForce GTX 1660'

在这里插入图片描述

2. 注意事项

实际上,服务器上配备着固定一型号的显卡,即对应着特定的GPU算力。而实际项目要求的环境千差万别,可能和服务器给定的算力是不兼容的,即不是所有的要求GPU加速的环境都可以布置在该服务器上。
比如现有的Ubuntu系统的服务器上配有3090显卡,其GPU算力为8.6。如果在其上通过conda创建虚拟环境后安装torch cuda的版本分别为:

conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit==10.0  

即使可以通过上述的测试验证,但实际运行项目还是会出错:
在这里插入图片描述
在这里插入图片描述

这是因为pytorch1.1和cuda10.0对应的算力均在8.0一下,与服务器硬件算力不兼容。笔者后来又装了cuda10.2及对应的torch,则出现如下错误:

GeForce RTX 3090 with CUDA capability sm_86 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70.
If you want to use the GeForce RTX 3060 GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/

即直接指出了算力不兼容的问题。参考该篇文章,通过查找torch cuda算力表
通过安装cuda11+的版本即可实现GPU的加速运算。

# CUDA 11.6
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge

在这里插入图片描述
可以发现,GPU加速成功,因为第一次cuda需要加载,所以时间比CPU还慢,但第二次就提速100多倍了。其他安装过程中遇到问题可以参考该篇
当需要卸载cuda cudnn时,可以执行如下指令:

# 卸载
conda uninstall cudatoolkit --force
conda uninstall cudnn  --force
# 单独安装时,指令为:
conda install cudatoolkit=10.0  # 可以进一步指定镜像源 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/ 
conda install cudnn=7.5.1

3. 其他问题

conda install VS pip install
关于CUDNN_STATUS_EXECUTION_FAILED错误的其他解释

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐