华为昇腾服务器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/
相关推荐
i建模30 分钟前
如何在Arch Linux中重设忘记的root密码
linux·运维·服务器
All The Way North-1 小时前
彻底掌握 RNN(实战):PyTorch API 详解、多层RNN、参数解析与输入机制
pytorch·rnn·深度学习·循环神经网络·参数详解·api详解
何中应4 小时前
vmware的linux虚拟机如何设置以命令行方式启动
linux·运维·服务器
野犬寒鸦4 小时前
从零起步学习并发编程 || 第一章:初步认识进程与线程
java·服务器·后端·学习
百炼成神 LV@菜哥4 小时前
Kylin Linux V10 aarch64 安装启动 TigerVNC-Server
linux·服务器·kylin
m0_737302584 小时前
百度智能云边缘云服务器,端云协同赋能全域智能场景
服务器
Anastasiozzzz5 小时前
LeetCode Hot100 295. 数据流的中位数 MedianFinder
java·服务器·前端
嵌入式郑工5 小时前
RK3566 LubanCat 开发板 USB Gadget 配置完整复盘
linux·驱动开发·ubuntu
Exquisite.5 小时前
Nginx
服务器·前端·nginx
j_xxx404_5 小时前
Linux:进程程序替换
linux·运维·服务器