华为昇腾服务器ubuntu Anaconda安装PyTorch npu 版本 步骤

更多安装内容查看官方教程:https://support.huawei.com/enterprise/zh/doc/EDOC1100349380/523e3943#ZH-CN_TOPIC_0000001750824325

官方torch_npu下载地址和相关文档:https://www.hiascend.com/document/detail/zh/Pytorch/60RC1/configandinstg/instg/insg_0007.html

说明

anaconda版本号:conda 25.11.0

python 版本号:3.10

服务器:华为昇腾

操作系统:ubuntu

创建虚拟环境

创建名称为pyTorch的虚拟环境

shell 复制代码
conda create -n pyTorch_py310 python==3.10 -y

进入环境

shell 复制代码
conda activate pyTorch_py310 

安装pyTorch 环境依赖

shell 复制代码
pip install attrs cython numpy==1.24.0 decorator sympy cffi pyyaml pathlib2 psutil protobuf==3.20 scipy requests absl-py --user -i https://repo.huaweicloud.com/repository/pypi/simple/

安装pyTorch 2.2.0

shell 复制代码
pip install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

验证安装结果

执行以下命令

shell 复制代码
python -c "import torch;print(f'PyTorch版本:{torch.__version__}')"

输出版本号则说明成功,如下:

shell 复制代码
(yolo11_py310) yolo@ubuntu2503:~$ python -c "import torch;print(f'PyTorch版本:{torch.__version__}')"
PyTorch版本:2.2.0

安装CANN

注意:

  1. 下面安装的toolkit、kernels、nnal必须将安装路径指定在同一个路径下
  2. 安装路径必须时不存在的路径,安装时候会自己创建
  3. 路径只能使用绝对路径

例如我安装的路径在:/home/yolo/anaconda/CANN/install/ 目录下

安装toolkit

shell 复制代码
# 下载安装包
wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN 8.2.RC1/Ascend-cann-toolkit_8.2.RC1_linux-aarch64.run

# 使用安装包安装
./Ascend-cann-toolkit_8.2.RC1_linux-aarch64.run --install --install-path=安装路径

安装kernels

shell 复制代码
# 下载安装包
wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL%20V100R001C25B800TP028/Ascend-cann-kernels-310p_8.5.0.alpha002_linux-aarch64.run?response-content-type=application/octet-stream

# 使用安装包安装
./Ascend-cann-kernels-310p_8.5.0.alpha002_linux-aarch64.run --install --install-path=安装路径

安装nnal

shell 复制代码
# 下载安装包
wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL%20V100R001C25B800TP028/Ascend-cann-nnal_8.5.0.alpha002_linux-aarch64.run?response-content-type=application/octet-stream

# 使用安装包安装
./Ascend-cann-nnal_8.5.0.alpha002_linux-aarch64.run --install --install-path=安装路径

加载环境变量

shell 复制代码
# find 安装路径 -name "set_env.sh"
find /home/yolo/anaconda -name "set_env.sh"

结果如下:

shell 复制代码
(yolo11_py310) yolo@ubuntu2503:~/anaconda$ find /home/yolo/anaconda -name "set_env.sh"
/home/yolo/anaconda/CANN/install/ascend-toolkit/set_env.sh
/home/yolo/anaconda/CANN/install/ascend-toolkit/8.2.RC1/bisheng_toolkit/set_env.sh
/home/yolo/anaconda/CANN/install/ascend-toolkit/8.2.RC1/aarch64-linux/script/set_env.sh
/home/yolo/anaconda/CANN/install/nnal/asdsip/set_env.sh
/home/yolo/anaconda/CANN/install/nnal/atb/8.5.0.alpha002/atb/set_env.sh
/home/yolo/anaconda/CANN/install/nnal/atb/set_env.sh

临时加载

注意:ascend-toolkit的环境变量 和 nnal的环境变量只能二选一。我这里使用的是ascend-toolkit的环境变量。未测试过加载nnal的环境变量。

加载ascend-toolkit的环境变量

临时加载只会在当前终端窗口中生效。加载ascend-toolkit的环境变量

shell 复制代码
source /home/yolo/anaconda/CANN/install/ascend-toolkit/set_env.sh
加载nnal的环境变量

若使用nnal加速包环境则加载 /nnal/atb/set_env.sh 的环境变量

shell 复制代码
source /home/yolo/anaconda/CANN/install/nnal/atb/set_env.sh

验证

加载ascend-toolkit的环境变量 后,使用以下命令验证是否加载成功

shell 复制代码
echo $ASCEND_TOOLKIT_HOME

输出结果如下,说明加载成功:

shell 复制代码
(yolo11_py310) yolo@ubuntu2503:~/anaconda$ echo $ASCEND_TOOLKIT_HOME
/home/yolo/anaconda/CANN/install/ascend-toolkit/latest

永久加载配置

在当前用户的环境变量文件末尾添加以下内容

shell 复制代码
# 在文件末尾添加以下内容(替换为你的set_env.sh路径):
# 加载昇腾CANN环境
source /home/yolo/anaconda/CANN/install/nnal/atb/set_env.sh
# 强制指定HCCL库路径
export LD_LIBRARY_PATH=$ASCEND_TOOLKIT_HOME/lib64:$ASCEND_TOOLKIT_HOME/../driver/lib64:$LD_LIBRARY_PATH
# 解决PTA资源缺失
export ASCEND_PTA_CONFIG_PATH=$ASCEND_TOOLKIT_HOME/pta/config

安装 torch_npu

torch_npu 的版本要与安装的pytorch对应。

shell 复制代码
# 下载 torch_npu 安装包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch2.2.0/torch_npu-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

# 使用安装包安装
pip install torch_npu-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

验证安装结果

使用命令验证安装结果

shell 复制代码
python -c "import torch;import torch_npu;print(f'torch_npu版本:{torch_npu.__version__}');print(f'NPU是否可用:{torch.npu.is_available()}');print(f'NPU设备数:{torch.npu.device_count()}');x = torch.tensor([1,2,3]).npu();print('NPU张量:', x);"

结果输出如下,说明成功

shell 复制代码
(yolo11_py310) yolo@ubuntu2503:~$ python -c "import torch;import torch_npu;print(f'torch_npu版本:{torch_npu.__version__}');print(f'NPU是否可用:{torch.npu.is_available()}');print(f'NPU设备数:{torch.npu.device_count()}');x = torch.tensor([1,2,3]).npu();print('NPU张量:', x);"
# 用户警告。pkg_resources 作为 API 已被废弃。计划最早于 2025 年 11 月 30 日被移除。固定 Setuptools 版本至 81 以下。
#非致命错误,不影响程序运行,但需关注兼容性。pkg_resources 是 setuptools 库下的旧版 API,官方已标记为弃用。该 API 在 2025 年 11 月后会从 setuptools 中彻底删除,届时使用该 API 的代码会报错。	setuptools 81.x 及以上版本会逐步移除 pkg_resources,需锁定低版本规避问题。
#该警告由torch_npu内部调用了弃用的pkg_resources API 导致,不影响 NPU 功能正常使用;若暂时不想修改版本,可忽略此警告,待torch_npu官方更新修复即可。
/home/yolo/anaconda/install/envs/yolo11_py310/lib/python3.10/site-packages/torch_npu/dynamo/torchair/__init__.py:3: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
  import pkg_resources

# 实际结果  
torch_npu版本:2.2.0
NPU是否可用:True
NPU设备数:2
NPU张量: tensor([1, 2, 3], device='npu:0')

降级setuptools版本

先使用命令卸载原来的setuptools

shell 复制代码
pip uninstall setuptools -y

安装新版本

shell 复制代码
pip install setuptools==80.0.0

重新执行命令,验证安装结果,此时不会提示警告。

shell 复制代码
python -c "import torch;import torch_npu;print(f'torch_npu版本:{torch_npu.__version__}');print(f'NPU是否可用:{torch.npu.is_available()}');print(f'NPU设备数:{torch.npu.device_count()}');x = torch.tensor([1,2,3]).npu();print('NPU张量:', x);"

输出结果为

shell 复制代码
(yolo11_py310) yolo@ubuntu2503:~$ python -c "import torch;import torch_npu;print(f'torch_npu版本:{torch_npu.__version__}');print(f'NPU是否可用:{torch.npu.is_available()}');print(f'NPU设备数:{torch.npu.device_count()}');x = torch.tensor([1,2,3]).npu();print('NPU张量:', x);"
torch_npu版本:2.2.0
NPU是否可用:True
NPU设备数:2
NPU张量: tensor([1, 2, 3], device='npu:0')

更新其他包为对应版本

shell 复制代码
pip install opencv-python==4.8.0.74 --force-reinstall -i https://repo.huaweicloud.com/repository/pypi/simple/
pip install numpy==1.26.4 --force-reinstall -i https://repo.huaweicloud.com/repository/pypi/simple/
相关推荐
All The Way North-2 小时前
PyTorch从零实现CIFAR-10图像分类:保姆级教程,涵盖数据加载、模型搭建、训练与预测全流程
pytorch·深度学习·cnn·图像分类·实战项目·cifar-10·gpu加速
想唱rap3 小时前
MYSQL在ubuntu下的安装
linux·数据库·mysql·ubuntu
糖~醋排骨3 小时前
DHCP服务的搭建
linux·服务器·网络
huohaiyu3 小时前
网络中的一些基本概念
运维·服务器·网络
dust_and_stars4 小时前
ubuntu24使用apt安装VS-code-server code-server
linux·服务器·windows
ling-454 小时前
Linux-day09 11
linux·运维·服务器
zbguolei4 小时前
Debian提示:“用户名” 不是 sudoers 文件
linux·服务器·debian
zhyf1195 小时前
零刻AI Max395(Ubuntu 24.04)AMD 显卡监控工具(amdgpu_top)部署手册
linux·运维·ubuntu
没学上了5 小时前
VLM-单头自注意力机制核心逻辑
人工智能·pytorch·深度学习
zhangdawei8385 小时前
英伟达GB200,GB300和普通服务器如dell R740xd有什么区别?
运维·服务器·人工智能