2080Ti与3080Ti单机多卡安装与并行训练

1 本人环境

机器:dell T640服务器

系统:Ubuntu16.04 LTS

已安装显卡:2080Ti

已安装驱动版本:NVIDIA-Linux-x86_64-470.57.02.run

已安装cuda版本:cuda_10.0.130_410.48_linux.run

已安装cudnn版本:cudnn-10.0-linux-x64-v7.4.2.24.tgz

需求:与服务器无关,大家只要是Ubuntu16.04系统即可参考。由于目前需求,需要扩充一张3080Ti显卡,但全网关于2080Ti与3080Ti的兼容问题和安装问题并无查询结果,因此本人通过实践来证明2080Ti与3080Ti是否可以兼容?是否可以并行进行深度学习模型训练?是否会出现各种问题?现对实现结果进行介绍。

2 准备工作

由于3080Ti显卡支持的cuda版本必须为cuda11以上,但2080Ti支持的cuda版本为cuda10.0,因此想要两张卡并行训练,就需要更改系统原来安装的cuda10.0,因此第一步先将已安装的cuda和cudnn全部卸载。卸载cuda之前需要先卸载cudnn。对于cudnn和cuda卸载,网上已有很详细说明,这里不在过多说明

3 驱动

在此将3080Ti显卡安装后,发现现在的驱动不能检测到3080Ti显卡,因此需要重新安装驱动,在此进入英伟达官网:NVIDIA DRIVERS Linux x64 (AMD64/EM64T) Display Driver 下载最新的驱动,截至目前驱动程序的版本为:470.86

安装显卡驱动前需禁用lightdm服务:

sudo service lightdm stop

关闭图形化界面后进入命令行模式:ctrl+alt+f1,并进入管理员账号,输入密码后登录到管理员用户。

进入到显卡驱动下载目录,执行:

sudo bash NVIDIA-Linux-x86_64-470.86.run

 然后通过 nvidia-smi 命令即可查看到新添加的3080Ti显卡与之前安装的2080Ti显卡与对应的显存

4 cuda11.0

在此下载cuda11.0,进入 https://developer.nvidia.com/cuda-downloads 下载cuda11.0,由于3080Ti需要cuda11.0而2080Ti能否兼容cuda11.0还不得而知,只能通过实践了解。下载后的安装程序为:cuda_11.0.2_450.51.05_linux.run

同样在命令行模式下(ctrl+alt+f1)进入cuda下载目录,执行:

sudo bash cuda_11.0.2_450.51.05_linux.run --no-opengl-libs

添加 --no-opengl-libs  是为了不安装opengl库,防止安装之后进入图形化页面出现循环登录的问题。

安装过程中会首先出现输入accept,然后会出现提示安装的驱动、cuda,在此首先选择driver,然后点击enter,即取消安装driver,因为我们在第3步已经安装了驱动,在此不需要安装其推荐的驱动(如果安装了,3080TI就不能检测到)。然后选择install,并点击enter,安装完成会出现 installed 字样。

安装成功后使用如下命令开启lightdm服务

sudo service lightdm start

使用ctrl+alt+f7成功进入图形化页面,cuda安装完成。

Cuda安装成功后配置环境变量:

sudo gedit /etc/profile 

进入文件编辑,在文件末尾添加:

export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=

/usr/local/cuda-10.0/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存/etc/profile文件,并重启电脑使得环境变量永久生效

重启后:

cat /proc/driver/nvidia/version 

使用如上命令验证驱动版本

nvcc -V   

使用如上命令验证cuda版本

cuda安装失败提示:

“The program ‘nvcc’ is currently not installed.”

5 cudnn 安装

接下来需要安装cudnn,进入cuDNN Archive | NVIDIA Developer 选择对应cuda版本的cudnn版本,由于上面安装了cuda11.0,因此在此下载与cuda11.0匹配的cudnn,下载后的cudnn名称为:cudnn-11.0-linux-x64-v8.0.4.30.tgz

由于该文件为压缩包,因此需要在cudnn下载路径执行以下命令进行解压:

tar -xvf cudnn-11.0-linux-x64-v8.0.4.30.tgz

解压后会出现cuda文件夹,然后依次输入如下命令:

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

完成cudnn与cuda的配置,接下来可以输入如下命令查看cudnn版本:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

新版cudnn查看版本的命令如上可能并不适用,在此进入cudnn解压后的cuda文件夹,然后进入include文件夹,会发现一个cuda_version.h的文件,然后执行如下命令即可查看cudnn版本: 

cat cudnn_version.h | grep CUDNN_MAJOR -A 2

 6 测试

至此,驱动、cuda、cudnn均已安装完成,接下来需要进行测试,最开始我使用了1.2版本的pytorch,发现在2080Ti显卡上可以正常使用(是个谜,明明已经安装了cuda11.0,而GPU版pytorch1.2对应cuda10.0),而在3080Ti上不可以使用,也就是显存不会增长。

考虑可能是cuda版本与pytorch版本不对应的问题,因此进入pytorch官网,下载cuda11.0对应的pytorch,在此我下载了pytorch1.7的GPU版本,具体安装命令进入官网复制即可。

最后惊讶的事情发生了,安装了GPU版的pytorch1.7,在2080Ti与3080Ti显卡上均可以进行深度学习,至此也解决了心中的疑问,2080TI可以使用cuda11.0!2080Ti与3080Ti可以并行使用!cuda11.0可以向下兼容2080Ti显卡!

7 需要注意的点

由于目前系统已经有了两张显卡,所以可以通过“cuda:0”选择第一张显卡,“cuda:1”使用第二张显卡,以此类推。

至此写下此文供同学们参考,如有问题请留言交流!

本文为作者原创,如有转载,请注明出处,侵权必追!

<think>好的,我现在需要帮助用户了解YOLO模型训练的服务器配置要求,特别是GPU方面。首先,我得回忆一下YOLO训练的基本需求,尤其是硬件部分。YOLO作为目标检测模型,训练时对GPU的要求比较高,因为需要处理大量的图像数据和复杂的计算。 首先,用户可能想知道什么样的GPU适合训练YOLO。我记得NVIDIA的GPU因为支持CUDA,所以是主流选择。比如RTX 3090、A100这些型号,显存越大越好,因为显存不足会导致无法处理较大的批次(batch size),影响训练速度。可能需要提到至少需要8GB显存,但推荐更高。 然后是CPU和内存方面。虽然训练主要依赖GPU,但CPU也需要处理数据加载和预处理,所以核CPU比如Intel i7或至强处理器会有帮助。内存方面,32GB或以上可以避免数据瓶颈,尤其是处理大型数据集时。 存储方面,SSD比HDD快,能加快数据读取速度,特别是数据集很大时。用户可能需要至少500GB的存储空间,具体取决于数据集大小。 软件环境方面,需要安装CUDA和cuDNN来支持GPU加速。比如YOLOv5可能要求CUDA 10.2或更高版本,以及对应的PyTorch版本。此外,Python环境、必要的库如torch、torchvision等也需要配置正确。 接下来要考虑用户可能遇到的问题,比如显存不足时的解决方法,比如减少batch size,使用混合精度训练,或者分布式训练。还有如何监控GPU的使用情况,比如nvidia-smi命令。 用户提供的引用中提到,他们可能需要将项目上传到服务器,使用Xftp传输,解压后执行训练脚本。这里需要注意CUDA环境的配置是否正确,以及是否需要调整device参数。根据引用,使用GPU时可能不需要修改device参数,系统会自动选择,但需要确保环境正确。 另外,用户提到训练自己的数据集时参考另一篇博客,可能需要确保数据集的格式正确,比如YOLO需要的txt标注文件,目录结构是否符合要求。这部分虽然用户的问题主要是服务器配置,但可能需要简要提及数据准备的重要性。 总结下来,回答的结构应该包括硬件配置(GPU、CPU、内存、存储)、软件环境(CUDA、PyTorch等)、常见问题解决(显存不足、环境配置)以及训练步骤的简要说明。同时,生成的相关问题可以涉及性能优化、环境配置错误处理、数据集准备和分布式训练等。</think>### 如何配置服务器使用YOLO进行模型训练? #### 1. **硬件配置要求** - **GPU**: YOLO训练依赖GPU加速,建议选择NVIDIA显卡(支持CUDA计算): - **显存要求**:至少8GB显存(如RTX 3060/3070),推荐16GB+(如RTX 3090、A100)以支持更大的批次(batch size)和分辨率[^1]。 - **架构支持**:需兼容CUDA的GPU(如Ampere、Turing架构)。 - **CPU内存**: - **CPU**:核处理器(如Intel i7/i9或AMD Ryzen 9)以加速数据预处理。 - **内存**:建议32GB以上,避免数据加载瓶颈。 - **存储**: - 使用SSD(NVMe协议)存储数据集,速度更快。 - 预留500GB+空间存放数据集和训练中间文件。 #### 2. **软件环境配置** - **CUDAcuDNN**: 安装GPU驱动匹配的CUDA版本(如CUDA 11.x)及对应cuDNN库,以启用GPU加速。 - **Python环境**: - 使用Python 3.8+,推荐通过Anaconda管理虚拟环境。 - 安装PyTorch(需CUDA版本一致),例如: ```bash conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch ``` - **YOLO依赖库**: 安装`requirements.txt`中的库(如numpy、opencv、tqdm): ```bash pip install -r requirements.txt ``` #### 3. **训练流程示例** 1. **数据集准备**: 按YOLO格式组织数据集(`images/train`, `labels/train`),生成标注文件(`.txt`格式)。 2. **上传项目到服务器**: 使用Xftp或scp传输压缩文件到服务器,解压后进入项目目录。 3. **启动训练**: 执行命令(默认使用GPU): ```bash python train.py --data coco.yaml --cfg yolov5s.yaml --weights yolov5s.pt --batch-size 16 ``` - 若显存不足,可降低`batch-size`或使用`--multi-scale`开启尺度训练。 #### 4. **常见问题解决** - **显存不足(OOM)**: 减小`batch-size`,或启用混合精度训练(添加`--half`参数)。 - **CUDA版本冲突**: 通过`nvidia-smi`查看驱动支持的CUDA版本,确保PyTorch其匹配。 - **数据类型错误**: 如遇到`Float`转`int64`错误,检查张量类型并显式转换(如`.long()`)。 --- ###
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

带鱼工作室

感谢您的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值