1. 准备工作连接远程服务器第一次接触远程服务器的同学可能会觉得有点懵其实就像用手机远程控制家里的电脑一样简单。我刚开始用学校服务器时也踩过不少坑这里把最稳妥的方法分享给大家。首先你需要准备三样东西服务器IP地址比如172.16.1.100、端口号通常是22、用户名和密码。这些信息一般由服务器管理员提供。我建议先用记事本记下来后面会频繁用到。推荐使用MobaXterm作为连接工具它比Xshell更友好自带文件传输功能。下载安装后打开软件点击左上角的Session按钮选择SSH连接方式。在Remote host栏输入服务器IP端口号填22除非管理员特别说明然后输入用户名密码即可。连接成功后你会看到命令行界面这就是服务器的操作环境了。第一次登录可能会提示保存密钥直接选是就行。如果连接失败先检查这三项1)IP和端口是否正确 2)网络是否正常 3)账号密码是否输错。我遇到过最坑的情况是大小写没注意Linux系统对大小写非常敏感。提示如果长时间不操作导致连接断开可以在MobaXterm设置里调整SSH keepalive时间为60秒2. 配置基础环境2.1 安装Anaconda深度学习环境配置最怕的就是各种包版本冲突Anaconda能完美解决这个问题。我对比过各种安装方式用Miniconda最省事只包含必要组件不占空间。在服务器上执行这些命令wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh安装过程按回车继续最后会问是否初始化conda一定要选yes。安装完成后需要重新连接服务器让配置生效。验证安装是否成功conda --version如果显示版本号说明安装成功。我遇到过conda命令找不到的情况一般是环境变量没配置好可以手动添加echo export PATH$HOME/miniconda3/bin:$PATH ~/.bashrc source ~/.bashrc2.2 创建虚拟环境千万别在base环境直接装包创建独立环境是避免冲突的关键。我习惯用Python3.8这个版本对各种深度学习框架兼容性最好conda create -n yolov5 python3.8 conda activate yolov5激活环境后命令行前缀会变成(yolov5)这时候所有操作都只影响当前环境。如果忘记激活环境就装包那就等着重装系统吧别问我怎么知道的。3. 安装PyTorch与CUDA3.1 检查GPU驱动装PyTorch前先确认GPU是否可用nvidia-smi这个命令会显示GPU信息如果报错说明驱动没装好。正常情况应该看到类似这样的输出----------------------------------------------------------------------------- | NVIDIA-SMI 510.47.03 Driver Version: 510.47.03 CUDA Version: 11.6 | |--------------------------------------------------------------------------- | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | || | 0 NVIDIA RTX A5000 On | 00000000:65:00.0 Off | Off | | 30% 38C P8 16W / 230W | 0MiB / 24564MiB | 0% Default | ---------------------------------------------------------------------------重点看CUDA Version后面装PyTorch时要匹配这个版本。我见过有人不看版本直接装最新PyTorch结果用不了GPU加速。3.2 安装PyTorch到PyTorch官网获取安装命令一定要选和CUDA版本对应的。比如CUDA11.6就选conda install pytorch torchvision torchaudio pytorch-cuda11.6 -c pytorch -c nvidia国内用户建议先配置清华镜像源加速下载conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/安装完成后验证GPU是否可用import torch print(torch.cuda.is_available()) # 应该输出True print(torch.rand(10).to(cuda)) # 应该显示tensor在GPU上如果显示False八成是PyTorch和CUDA版本不匹配。这时候别慌先用conda list pytorch查看已安装版本然后去PyTorch官网找对应CUDA版本的安装命令。4. 部署YOLOv5项目4.1 下载项目代码直接从官方仓库克隆最新版git clone https://github.com/ultralytics/yolov5 cd yolov5我建议用5.0版本这个版本最稳定git checkout v5.04.2 安装依赖项目根目录下有requirements.txt一键安装所有依赖pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple常见问题处理Pillow版本冲突pip install Pillow8.3.1numpy报错修改代码中np.int为int缺少libgl1apt install libgl1-mesa-glx需要sudo权限4.3 测试检测功能先用官方权重测试python detect.py --weights yolov5s.pt --source data/images/如果一切正常会在runs/detect/exp目录下看到检测结果。第一次运行会自动下载yolov5s.pt权重文件国内可能很慢可以手动下载后放到项目根目录。常见报错解决方案CUDA out of memory减小--img-size参数比如改成640Missing kernel升级PyTorch或重装CUDAFileNotFoundError检查文件路径是否正确5. 训练自定义模型5.1 准备数据集推荐使用LabelImg标注工具保存为YOLO格式。目录结构应该是这样的dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/然后在data目录下新建yaml配置文件train: ../dataset/images/train/ val: ../dataset/images/val/ nc: 3 # 类别数 names: [person, car, dog] # 类别名称5.2 开始训练执行训练命令python train.py --img 640 --batch 16 --epochs 100 --data data/custom.yaml --weights yolov5s.pt关键参数说明--img输入图像尺寸--batch根据GPU显存调整A5000可以设32--epochs训练轮数--device可以指定用哪块GPU多卡训练用0,1训练过程会实时显示损失曲线在runs/train/exp目录下保存权重和日志。我用RTX 3090训练COCO数据集大概需要1天时间batch_size设为32时显存占用约18GB。5.3 模型导出训练完成后可以导出为各种格式python export.py --weights runs/train/exp/weights/best.pt --include onnx # 导出ONNX python export.py --weights runs/train/exp/weights/best.pt --include torchscript # 导出TorchScript导出的模型可以部署到各种平台比如用TensorRT加速能提升3-5倍推理速度。