Cuda与Torch配置(For 集群服务器)超详细步骤
创始人
2025-01-18 18:03:55
0

每次配置模型环境,无论是在windows,linux,集群服务器上都会在这里卡一段,为了未来配置方便,记录下配置注意事项

配置cuda和torch主要有几个要点,分别是:

  1. 显卡与驱动(NIVIADA driver)是否适配。
  2. cuda版本与显卡是否适配。
  3. torch是否为gpu版本
  4. torch版本与cuda,与python是否适配
  5. touchvision版本与torch是否适配。

1. 显卡与驱动(NIVIADA driver)是否适配

On Linux/OS X:

nvidia-smi 

结果形式一般为:

+-----------------------------------------------------------------------------+ | NVIDIA-SMI 520.61.05    Driver Version: 520.61.05    CUDA Version: 11.8     | |-------------------------------+----------------------+----------------------+ | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC | | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. | |                               |                      |               MIG M. | |===============================+======================+======================| |   0  NVIDIA A100-PCI...  Off  | 00000000:3B:00.0 Off |                    0 | | N/A   27C    P0    54W / 250W |      0MiB / 40960MiB |      0%   E. Process | |                               |                      |             Disabled | +-------------------------------+----------------------+----------------------+                                                                                 +-----------------------------------------------------------------------------+ | Processes:                                                                  | |  GPU   GI   CI        PID   Type   Process name                  GPU Memory | |        ID   ID                                                   Usage      | |=============================================================================| |  No running processes found                                                 | +-----------------------------------------------------------------------------+ 

NVIDIA-SMI 520.61.05 Driver Version: 520.61.05 是适配的即可,不然需要重新安装driver。

2. cuda版本与显卡(gpu)是否适配。

查询Compute Capability (CUDA SDK support )
步骤为:

  • 先确定显卡的算力级别:For example, the GeForce 820M compute capability is 2.1.
  • 再确定cuda版本是否支持该算力级别: For example, CUDA 9.2 is not supported for compute compatibility 2.1.

3. cuda是否与driver适配

On Linux/OS X:

nvidia-smi 

结果形式一般为:

+-----------------------------------------------------------------------------+ | NVIDIA-SMI 520.61.05    Driver Version: 520.61.05    CUDA Version: 11.8     | |-------------------------------+----------------------+----------------------+ | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC | | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. | |                               |                      |               MIG M. | |===============================+======================+======================| |   0  NVIDIA A100-PCI...  Off  | 00000000:3B:00.0 Off |                    0 | | N/A   27C    P0    54W / 250W |      0MiB / 40960MiB |      0%   E. Process | |                               |                      |             Disabled | +-------------------------------+----------------------+----------------------+                                                                                 +-----------------------------------------------------------------------------+ | Processes:                                                                  | |  GPU   GI   CI        PID   Type   Process name                  GPU Memory | |        ID   ID                                                   Usage      | |=============================================================================| |  No running processes found                                                 | +-----------------------------------------------------------------------------+ 

注意: 此表中显示的 CUDA 版本并不表示您的系统上实际安装了 CUDA 工具包这仅表明您的图形驱动程序兼容的最新版本的 CUDA。一般下载这个版本的cuda就对了。

3. pytorch安装

一般安装步骤:

conda install pytorch torchvision torchaudio cudatoolkit=11.8 

一般linux/windows这样就没问题了,但是,由于我使用的是集群服务器,环境配置与模型训练(gpu)不在同一个节点,这样会直接安装为cpu版本的pytorch。同时集群里有cuda11.9module,我是不用下载cudatoolkit的。
检查一下:

$ conda list pytorch pytorch                   2.0.0               py3.9_cpu_0    pytorch pytorch-mutex             1.0                         cpu    pytorch cudatoolkit               11.1.1              heb2d755_10    conda-forge 

果然是cpu版本呢。于是我首先卸载了原来版本的torch(或者重新创建环境)。然后手动安装下载wheel,在官方网站可下载。
cu开头的就是gpu版本啦
在这里插入图片描述
同时下载对应版本的torchvision:
在这里插入图片描述
这里我一开始下了cu118/torchvision-0.16.1%2Bcu118-cp311-cp311-win_amd64.whl,但是torchvision0.16和torch2.0不兼容,所以还要注意torch和torchvision匹配问题
然后传到服务器文件夹里,在conda环境pip安装即可。

我在gpu节点测cuda一直false的原因就是torch和torchvision不匹配,torchvision后装把前面装的pytorch覆盖了重装了cuda12.1的版本,导致无法与GPU兼容。

4.测试与运行

这之后应该就可以正常运行了gpu了,测试gpu的pbs文件:

#!/bin/bash #PBS -N yolov5_train #PBS -l nodes=1:ppn=1:gpus=1 #PBS -l walltime=1:00:00 #PBS -o yolov5_train.out #PBS -e yolov5_train.err #PBS -A your_account #PBS -V #PBS -q gpu   # 使用GPU前必须启动 export PATH=/usr/local/cuda-11.8/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH  # 查看cuda版本 nvcc --version # Display GPU information nvidia-smi  conda init bash source ~/.bashrc  conda activate checkcuda2  # Check if CUDA is available using Python python -c "import torch; print(torch.__version__)" python -c "import torch; torch.zeros(1).cuda()" python -c "import torch; print(torch.version.cuda)" python -c "import torch; print(torch.cuda.is_available())"  conda deactivate 

参考

  • Why torch.cuda.is_available() returns False even after installing pytorch with cuda?
  • GPU版本安装Pytorch教程最新方法

相关内容

热门资讯

绝活儿辅助!广西老友玩老是输怎... 绝活儿辅助!广西老友玩老是输怎么办(辅助挂)都是真的有辅助app(讲解有挂)在进入广西老友玩老是输怎...
法门辅助!福建13水插件(辅助... 法门辅助!福建13水插件(辅助挂)一贯是有辅助技巧(有挂技术)1、许多玩家不知道福建13水插件辅助怎...
办法辅助!潮友会app下载官方... 办法辅助!潮友会app下载官方辅助器(辅助挂)真是真的是有辅助app(有挂教程)该软件可以轻松地帮助...
妙招辅助!邯郸胡乐挂辅助(辅助... 妙招辅助!邯郸胡乐挂辅助(辅助挂)好像存在有辅助插件(有挂方略)1、上手简单,内置详细流程视频教学,...
教程书辅助!乐酷辅助(辅助挂)... 教程书辅助!乐酷辅助(辅助挂)其实存在有辅助脚本(有挂细节)乐酷辅助能透视中分为三种模型:乐酷辅助模...
学习辅助!决战卡五星辅助(辅助... 学习辅助!决战卡五星辅助(辅助挂)本来真的是有辅助软件(有人有挂)学习辅助!决战卡五星辅助(辅助挂)...
绝活辅助!边锋嘉兴麻将辅助器(... 绝活辅助!边锋嘉兴麻将辅助器(辅助挂)真是真的有辅助神器(新版有挂)1、边锋嘉兴麻将辅助器公共底牌简...
举措辅助!枫叶辅助器(辅助挂)... 举措辅助!枫叶辅助器(辅助挂)本来存在有辅助技巧(竟然有挂)1、下载好枫叶辅助器正确养号方法之后点击...
讲义辅助!点我达辅助(辅助挂)... 讲义辅助!点我达辅助(辅助挂)一直存在有辅助技巧(有人有挂)1、点我达辅助辅助器安装包、点我达辅助辅...
模块辅助!威信茶馆有挂的吗(辅... 模块辅助!威信茶馆有挂的吗(辅助挂)一直真的是有辅助脚本(揭秘有挂)1、玩家可以在威信茶馆有挂的吗线...