昇腾GPU 环境安装 PyTorch

昇腾(Ascend)GPU 是华为的 AI 加速器系列,支持 NPU(Neural Processing Unit)计算。安装 PyTorch 需要使用华为官方的 CANN(Compute Architecture for Neural Networks)工具包,并通过 MindSpore 或 Ascend-PyTorch 适配器来支持。

如果未安装 CANN,请先安装:

1.从 华为开发者官网 下载 CANN 工具包(最新版本如 8.0.RC1)。

2.安装命令示例:

sudo dpkg -i Ascend-cann-toolkit_*.deb
sudo ./Ascend-cann-*.run --install

设置环境变量:

source /usr/local/Ascend/ascend-toolkit/set_env.sh

安装 PyTorch for Ascend

华为提供官方 Ascend-PyTorch 仓库,支持 PyTorch 1.8 ~ 2.0+ 版本。推荐使用 pip 安装。

  1. 更新 pip

    pip install --upgrade pip setuptools wheel

    安装 PyTorch(针对 Ascend NPU)

    • 对于 PyTorch 2.1+(推荐最新):

      pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --extra-index-url https://repo.huaweicloud.com/repository/pytorch-proxy/simple/
    • 或者指定 Ascend 专用版本(如果需要特定适配):

      pip install torch-npu==2.1.0.post3  # NPU 后端支持
      • torch-npu 是华为的 PyTorch NPU 扩展包,提供 device=’npu’ 支持。

    验证安装: 启动 Python 解释器:

import torch
import torch_npu  # 如果安装了 torch-npu

print(torch.__version__)  # 应输出 2.1.0 或类似

# 测试 NPU 设备
if torch_npu.is_available():
    device = torch.device('npu:0')
    x = torch.randn(3, 3).to(device)
    y = torch.mm(x, x)
    print(y)  # 应在 NPU 上计算
else:
    print("NPU 未就绪")

常见问题排查

问题 可能原因 解决方案
No module named ‘torch_npu’ 未安装 NPU 扩展 运行 pip install torch-npu 并 source 环境变量。
CANN 版本不匹配 PyTorch 版本与 CANN 不兼容 检查 兼容性矩阵,如 CANN 8.0 支持 PyTorch 2.1。
权限/路径错误 环境变量未设置 执行 echo ‘source /usr/local/Ascend/ascend-toolkit/set_env.sh’ >> ~/.bashrc 并重启终端。
网络下载失败 源不可达 使用华为镜像:pip install -i https://repo.huaweicloud.com/repository/pytorch-proxy/simple/ torch。