昇腾910B服务器上搭建YOLO训练环境:基于Anaconda的完整指南
在国产AI芯片生态快速发展的今天,昇腾910B凭借强大的算力与性价比,成为许多团队训练YOLO等目标检测模型的首选平台。然而,从零搭建Python、PyTorch与CANN适配环境往往令人头疼。本文基于Anaconda,手把手带你完成从系统准备到环境验证的全流程,避开常见坑点,让你快速投入模型训练。
第一步:安装Anaconda并配置镜像源
Anaconda是Python开发者最常用的包管理器,尤其在需要隔离多个深度学习框架(如PyTorch、TensorFlow)时,它比系统级pip更安全、灵活。首先,检查服务器架构:
uname -m
命令输出会显示架构类型(aarch64或x86_64)。昇腾910B服务器通常为aarch64架构,这与后续下载的Anaconda版本直接相关。接着,访问Anaconda官网下载对应版本:
https://repo.anaconda.com/archive/
右键复制链接后,在服务器终端执行:
Anaconda3-2024.02-1-Linux-x86_64.sh
wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
chmod +x Anaconda3-2024.10-1-Linux-x86_64.sh
下载完成后,运行安装脚本:
sudo ./Anaconda3-2024.02-1-Linux-x86_64.sh -b -p /opt/anaconda3
安装过程中按提示确认路径(推荐默认路径)并初始化conda:
source /opt/anaconda3/bin/activate
conda init
安装后执行以下命令使配置生效:
source ~/.bashrc
检查安装是否成功:
conda --version
最佳实践: 建议立即配置清华源以加速后续Python包下载:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes这样,无论是安装C++编译依赖还是Python库,都能显著提升速度。
第二步:确认或安装CANN(昇腾AI处理器驱动)
CANN是昇腾芯片的底层驱动与编译器,类似NVIDIA的CUDA。首先检查是否已安装:
方法一:
atc --version
输出示例:ATC version: 6.3.0方法二:查看安装目录版本文件:
ls /usr/local/Ascend/ascend-toolkit/
输出示例:
8.2
8.2.RC1输出如6.3.0或7.0.0即表示已安装。若已安装,将CANN环境变量永久生效:
find /usr/local/Ascend/ascend-toolkit/ -name "set_env.sh"如果输出:
/usr/local/Ascend/ascend-toolkit/8.2.RC1.alpha003/aarch64-linux/script/set_env.sh则手动添加:
echo "source /usr/local/Ascend/ascend-toolkit/8.2.RC1.alpha003/aarch64-linux/script/set_env.sh" >> ~/.bashrc
source ~/.bashrc⚠️ 常见问题: 若未安装CANN,需从头下载。先查阅PyTorch版本与CANN的兼容表:
https://gitee.com/ascend/pytorch
例如,要安装PyTorch 2.6.0,需下载CANN 8.2.rc1,组件选择
https://www.hiascend.com/hardware/firmware-drivers/community?product=4&model=10&cann=7.0.0.alpha003&driver=1.0.21.alpha
软件包格式选择
NPU
下载后增加可执行权限:
run
执行安装:
chmod +x Ascend-cann-toolkit_7.0.0.alpha003_linux-aarch64.run
安装过程中输入Y同意协议。安装成功后会显示类似信息:
./Ascend-cann-toolkit_7.0.0.alpha001_linux-x86_64.run --install
最后,将CANN环境变量写入.bashrc:
[INFO] Ascend-cann-toolkit install success
source /usr/local/Ascend/ascend-toolkit/set_env.sh
第三步:创建Conda环境并安装PyTorch与torch_npu
Python版本必须与PyTorch配套。运行检查脚本:
cd /usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/bin
bash prereq_check.bash根据PyTorch版本表(如2.5.1对应Python 3.11),创建环境:
conda create -n etrain python=3.11
https://gitee.com/ascend/pytorch
进入环境:
conda activate etrain
安装依赖包:
pip install pyyaml
pip install numpy==1.26.4
pip install attrs cloudpickle decorator psutil scipy synr==0.5.0 tornado absl-py
pip install google-cloud google-cloud-vision protobuf==3.20.0安装PyTorch(以2.5.1为例):
pip install torch==2.6.0安装torch_npu依赖(注意:torch_npu是昇腾适配PyTorch的插件,类似CUDA的cuDNN):
pip install pyyaml
pip install setuptools安装torch_npu:
pip install torch-npu==2.6.0rc1技术对比: 在NVIDIA GPU上,我们通常直接安装PyTorch与CUDA即可;而在昇腾平台,必须通过torch_npu实现硬件加速。这类似于在AMD GPU上使用ROCm。目前,torch_npu对YOLO系列的支持已非常成熟。
✅ 第四步:验证环境并测试YOLO训练
运行验证脚本:
import torch
import torch_npu
x = torch.randn(2, 2).npu()
y = torch.randn(2, 2).npu()
z = x.mm(y)
print(z)若输出显示True且无错误,说明PyTorch已成功调用昇腾NPU。此时,你可以克隆YOLOv8或YOLOv5仓库,修改配置文件中的device参数为npu,即可开始训练。
最佳实践: 建议在训练前使用torch.npu.profile分析算力利用率,避免因数据加载瓶颈导致NPU空闲。同时,注意YOLO的batch_size设置,昇腾910B的显存通常为32GB,可支持较大批次。
[AFFILIATE_SLOT_1]
❓ 常见问题与解决方案
- 问题: conda创建环境时提示
PackagesNotFoundError。 解决: 检查镜像源是否配置正确,或临时使用官方源。 - 问题: CANN安装后
npu-smi命令找不到。 解决: 确认source脚本路径是否正确,并重新加载.bashrc。 - 问题: torch_npu导入时报
ModuleNotFoundError。 解决: 确保CANN版本与PyTorch版本严格匹配,参考官方兼容表。 - 问题: YOLO训练时NPU利用率低。
解决: 增加
num_workers参数,并使用torch.npu.amp混合精度训练。
总结
本文详细介绍了在昇腾910B服务器上使用Anaconda搭建YOLO训练环境的完整流程:从安装Anaconda、配置镜像源,到确认或安装CANN驱动,再到创建Conda环境并安装PyTorch与torch_npu。关键要点包括:架构匹配(aarch64)、版本对齐(PyTorch与CANN)、环境隔离(Conda)。掌握这些步骤后,你就能充分利用昇腾NPU的算力,高效训练YOLO模型。
[AFFILIATE_SLOT_2]
浙公网安备 33010602011771号