安装torch_npu插件
torch_npu插件有两种安装方式:
- 快速安装:通过wheel格式的二进制软件包直接安装。
- 源码编译安装:用户可以选择对应的分支自行编译torch_npu。编译安装适用于进行算子适配开发、CANN版本与PyTorch兼容适配场景下使用。
快速安装torch_npu插件
以下操作以在aarch64架构下安装适配Python 3.8、PyTorch 1.11.0的最新版本torch_npu为例,演示安装步骤。其他版本请参考表2和表3获取安装包,并根据实际情况修改命令。
- 进入安装目录,执行如下命令获取PyTorch插件的whl包。
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch1.11.0/torch_npu-1.11.0.post11-cp38-cp38-linux_aarch64.whl
PyTorch插件安装包版本需与Python版本一一对应,例如Python版本为3.8.x,需下载“torch_npu-version-cp38-cp38-linux_aarch64.whl”PyTorch插件安装包。表1 插件安装包字段说明 字段
说明
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参数避免此问题。样例代码如下所示。wget https://gitee.com/ascend/pytorch/releases/download/软件包 --no-check-certificate
- 执行如下命令安装。如果使用非root用户安装,需要在命令后加--user。
pip3 install torch_npu-1.11.0.post11-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/v6.0.rc1-pytorch1.11.0/torch_npu-1.11.0.post11-cp37-cp37m-linux_aarch64.whl |
Python 3.8 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch1.11.0/torch_npu-1.11.0.post11-cp38-cp38-linux_aarch64.whl |
|
Python 3.9 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch1.11.0/torch_npu-1.11.0.post11-cp39-cp39-linux_aarch64.whl |
|
Python 3.10 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch1.11.0/torch_npu-1.11.0.post11-cp310-cp310-linux_aarch64.whl |
|
2.1.0 |
Python 3.8 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch2.1.0/torch_npu-2.1.0.post3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
Python 3.9 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch2.1.0/torch_npu-2.1.0.post3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|
Python 3.10 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch2.1.0/torch_npu-2.1.0.post3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|
2.2.0 |
Python 3.8 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch2.2.0/torch_npu-2.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
Python 3.9 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch2.2.0/torch_npu-2.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|
Python 3.10 |
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 |
PyTorch版本 |
Python版本 |
下载链接 |
---|---|---|
1.11.0 |
Python 3.7和Python 3.7m |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch1.11.0/torch_npu-1.11.0.post11-cp37-cp37m-linux_x86_64.whl |
Python 3.8 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch1.11.0/torch_npu-1.11.0.post11-cp38-cp38-linux_x86_64.whl |
|
Python 3.9 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch1.11.0/torch_npu-1.11.0.post11-cp39-cp39-linux_x86_64.whl |
|
Python 3.10 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch1.11.0/torch_npu-1.11.0.post11-cp310-cp310-linux_x86_64.whl |
|
2.1.0 |
Python 3.8 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch2.1.0/torch_npu-2.1.0.post3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
Python 3.9 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch2.1.0/torch_npu-2.1.0.post3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|
Python 3.10 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch2.1.0/torch_npu-2.1.0.post3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|
2.2.0 |
Python 3.8 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch2.2.0/torch_npu-2.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
Python 3.9 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch2.2.0/torch_npu-2.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|
Python 3.10 |
https://gitee.com/ascend/pytorch/releases/download/v6.0.rc1-pytorch2.2.0/torch_npu-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
源码编译安装torch_npu插件
编译安装适用于进行算子适配开发、CANN版本与PyTorch兼容适配场景下。
以下操作步骤以安装PyTorch 2.1.0版本为例。
- 安装依赖。
选择编译安装方式安装时需要安装系统依赖。目前支持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.1.0-6.0.rc1为例,其他版本请参考《版本说明》中的“版本配套关系”下载对应PyTorch版本分支代码。
git clone -b v2.1.0-6.0.rc1 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.1.0-6.0.rc1为例,其他版本请参考《版本说明》中的“版本配套关系”下载对应PyTorch版本分支代码。
- 安装pytorch/dist目录下生成的插件torch_npu包,如果使用非root用户安装,需要在命令后加--user。
# 请用户根据实际情况更改命令中的torch_npu包名 pip3 install --upgrade dist/torch_npu-2.1.0.post3-cp38-cp38-linux_aarch64.whl
- 验证是否安装成功。
python3 -c "import torch;import torch_npu; a = torch.randn(3, 4).npu(); print(a + a);"
显示如下回显证明PyTorch框架与插件安装成功。