安装torch_npu插件
torch_npu插件有两种安装方式:
- 快速安装:通过wheel格式的二进制软件包直接安装。
- 源码编译安装:用户可以选择对应的分支自行编译torch_npu。编译安装适用于进行算子适配开发、CANN版本与PyTorch兼容适配场景下使用。源码安装时,支持安装AscendPyTorch opplugin项目开发的NPU PyTorch算子插件,提供便捷的NPU算子库调用能力。opplugin算子插件与CANN版本耦合,源码编译PyTorch时指定opplugin版本,可以实现PyTorch在版本不匹配的CANN上运行,实现灵活的版本兼容性。
快速安装torch_npu插件
以下操作以在aarch64架构下安装适配Python 3.8、PyTorch 1.11.0的最新版本torch_npu为例,演示安装步骤。其他版本请参考表1和表2获取安装包,并修改命令。
- 进入安装目录,执行如下命令获取PyTorch插件的whl包。
wget https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch1.11.0/torch_npu-1.11.0.post4-cp38-cp38-linux_aarch64.whl
- 如果下载whl包时出现ERROR: cannot verify gitee.com's certificate报错,可在下载命令后加上--no-check-certificate参数避免此问题。样例代码如下所示。
wget https://gitee.com/ascend/pytorch/releases/download/软件包 --no-check-certificate
- PyTorch 1.11版本在aarch64架构上可能出现CPU精度问题,需在Docker环境编译torch_npu,请参见PyTorch框架在ARM CPU上算子计算结果异常。
- PyTorch插件安装包版本需与Python版本一一对应,例如Python版本为3.8.x,需下载"torch_npu-version-cp38-cp38-linux_aarch64.whl"PyTorch插件安装包。更多PyTorch插件版本可访问https://gitee.com/ascend/pytorch/releases查询。
- torch_npu:表示torch_npu插件。
- version:PyTorch的版本号,例如1.11.0。
- cp38-cp38:表示这个安装包是为Python 3.8编译的。
- linux_aarch64:表示linux标准的aarch64架构系统(64位ARM)。
- whl:表明这是一个Python wheel格式的二进制发布包。
- 如果下载whl包时出现ERROR: cannot verify gitee.com's certificate报错,可在下载命令后加上--no-check-certificate参数避免此问题。样例代码如下所示。
- 执行如下命令安装。如果使用非root用户安装,需要在命令后加--user。
pip3 install torch_npu-1.11.0.post4-cp38-cp38-linux_aarch64.whl
- 执行如下命令,若返回True则说明安装成功。
python3 -c "import torch;import torch_npu;print(torch_npu.npu.is_available())"
若Pytorch版本为2.1.0,出现“找不到google或者protobuf或者protobuf版本过高”报错时,需执行如下命令:pip install protobuf==3.20
PyTorch版本 |
Python版本 |
下载链接 |
---|---|---|
1.11.0 |
Python 3.7和Python 3.7m |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch1.11.0/torch_npu-1.11.0.post4-cp37-cp37m-linux_aarch64.whl |
Python 3.8 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch1.11.0/torch_npu-1.11.0.post4-cp38-cp38-linux_aarch64.whl |
|
Python 3.9 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch1.11.0/torch_npu-1.11.0.post4-cp39-cp39-linux_aarch64.whl |
|
Python 3.10 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch1.11.0/torch_npu-1.11.0.post4-cp310-cp310-linux_aarch64.whl |
|
2.0.1 |
Python 3.8 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch2.0.1/torch_npu-2.0.1-cp38-cp38-linux_aarch64.whl |
Python 3.9 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch2.0.1/torch_npu-2.0.1-cp39-cp39-linux_aarch64.whl |
|
Python 3.10 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch2.0.1/torch_npu-2.0.1-cp310-cp310-linux_aarch64.whl |
|
2.1.0 |
Python 3.8 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch2.1.0/torch_npu-2.1.0rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
Python 3.9 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch2.1.0/torch_npu-2.1.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|
Python 3.10 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch2.1.0/torch_npu-2.1.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
PyTorch版本 |
Python版本 |
下载链接 |
---|---|---|
1.11.0 |
Python 3.7和Python 3.7m |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch1.11.0/torch_npu-1.11.0.post4-cp37-cp37m-linux_x86_64.whl |
Python 3.8 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch1.11.0/torch_npu-1.11.0.post4-cp38-cp38-linux_x86_64.whl |
|
Python 3.9 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch1.11.0/torch_npu-1.11.0.post4-cp39-cp39-linux_x86_64.whl |
|
Python 3.10 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch1.11.0/torch_npu-1.11.0.post4-cp310-cp310-linux_x86_64.whl |
|
2.0.1 |
Python 3.8 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch2.0.1/torch_npu-2.0.1-cp38-cp38-linux_x86_64.whl |
Python 3.9 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch2.0.1/torch_npu-2.0.1-cp39-cp39-linux_x86_64.whl |
|
Python 3.10 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch2.0.1/torch_npu-2.0.1-cp310-cp310-linux_x86_64.whl |
|
2.1.0 |
Python 3.8 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch2.1.0/torch_npu-2.1.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
Python 3.9 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch2.1.0/torch_npu-2.1.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|
Python 3.10 |
https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch2.1.0/torch_npu-2.1.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
源码编译安装torch_npu插件
编译安装适用于进行算子适配开发、CANN版本与PyTorch兼容适配场景下。
以下操作步骤以安装PyTorch 2.0.1版本为例。
- 安装依赖。
选择编译安装方式安装时需要安装系统依赖。目前支持CentOS与Ubuntu操作系统。
- CentOS
yum install -y patch libjpeg-turbo-devel dos2unix openblas git yum install -y gcc==7.3.0 cmake==3.12.0
- Ubuntu
apt-get install -y patch build-essential libbz2-dev libreadline-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev m4 dos2unix libopenblas-dev git apt-get install -y gcc==7.3.0 cmake==3.12.0
gcc7.3.0版本及以上,cmake3.12.0版本及以上;若需要安装1.11.0版本PyTorch,则gcc需为7.5.0版本以上。
- CentOS
- 编译生成torch_npu插件的二进制安装包。
- 下载对应PyTorch版本分支代码,进入插件根目录,以v2.0.1-5.0.rc3为例,其他版本请参考表1下载对应PyTorch版本分支代码。
git clone -b v2.0.1-5.0.rc3 https://gitee.com/ascend/pytorch.git cd pytorch
- (可选)如果不需要切换opplugin(CANN)的版本,请跳过此步骤;如需切换opplugin版本,如切换opplugin的 master分支最新代码,则进行以下操作进行切换。
- 编译生成二进制安装包。
# 指定Python版本编包方式,以Python3.8为例,其他Python版本请使用 --python=3.9或--python3.10 bash ci/build.sh --python=3.8
- 下载对应PyTorch版本分支代码,进入插件根目录,以v2.0.1-5.0.rc3为例,其他版本请参考表1下载对应PyTorch版本分支代码。
- 安装pytorch/dist目录下生成的插件torch_npu包,如果使用非root用户安装,需要在命令后加--user。
# 请用户根据实际情况更改命令中的torch_npu包名 pip3 install --upgrade dist/torch_npu-2.0.1.post1-cp38-cp38-linux_aarch64.whl
- 验证是否安装成功。
python3 -c "import torch;import torch_npu; a = torch.randn(3, 4).npu(); print(a + a);"
显示如下回显证明PyTorch框架与插件安装成功。
父主题: 安装PyTorch