昇腾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.07.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]

posted on 2026-05-16 20:16  wgwyanfs  阅读(84)  评论(0)    收藏  举报

导航