华为昇腾服务器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/
相关推荐
TG:@yunlaoda360 云老大2 小时前
如何配置华为云国际站代理商OBS的跨区域复制?
服务器·网络·华为云
撬动未来的支点2 小时前
【AI邪修·神经网络】神经网络基础—代码分析—手写数字识别
pytorch
idkmn_2 小时前
Daily AI 20251219 (PyTorch基础回顾3)
人工智能·pytorch·python·深度学习·神经网络
XiaoHu02072 小时前
Linux关于进程(第一弹)
linux·运维·服务器
YoungHong19922 小时前
[教程] Linux 服务器无 Root (Sudo) 权限安装 CUDA Toolkit 终极指南
linux·运维·服务器
OliverH-yishuihan2 小时前
下载、安装和设置 Linux 工作负载
linux·运维·服务器
MediaTea2 小时前
思考与练习(第四章 程序组成与输入输出)
java·linux·服务器·前端·javascript
松涛和鸣2 小时前
35、Linux IPC进阶:信号与System V共享内存
linux·运维·服务器·数据库·算法·list
baby_hua2 小时前
20251011_Pytorch深度学习(快速预览)
人工智能·pytorch·深度学习