Linux服务器下虚拟环境中配置深度学习环境及注意事项

1. 环境配置及安装

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

# 安装指定版本torch cuda  利用设置的镜像源
conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit==10.0  
# 指定通道库安装
# 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_count()
# 1
 
torch.cuda.get_device_name(0)
# 'GeForce GTX 1660'

Linux服务器下虚拟环境中配置深度学习环境及注意事项_第1张图片

2. 注意事项

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

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

即使可以通过上述的测试验证,但实际运行项目还是会出错:
Linux服务器下虚拟环境中配置深度学习环境及注意事项_第2张图片
Linux服务器下虚拟环境中配置深度学习环境及注意事项_第3张图片

这是因为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

Linux服务器下虚拟环境中配置深度学习环境及注意事项_第4张图片
可以发现,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错误的其他解释

你可能感兴趣的:(conda,Ubuntu,python,深度学习,服务器,linux)