本项目开发了名为torch_npu的PyTorch Ascend Adapter插件,使昇腾NPU可以适配PyTorch框架,为使用PyTorch框架的开发者提供昇腾AI处理器的超强算力。
昇腾为基于华为昇腾处理器和软件的行业应用及服务提供全栈AI计算基础设施。您可以通过访问昇腾社区,了解关于昇腾的更多信息。
我们为用户提供可以快速安装torch_npu的whl安装包。在安装torch_npu之前,您需要先安装CANN软件。昇腾辅助软件中有更多关于CANN的版本信息。请参考CANN安装指南获取CANN安装包。
- 安装PyTorch
通过 pip 安装 PyTorch。
aarch64:
pip3 install torch==2.1.0
x86:
pip3 install torch==2.1.0+cpu --index-url https://download.pytorch.org/whl/cpu
若使用pip命令安装失败,请使用下载链接或进入PyTorch官方网站进行查询下载对应版本。
架构 | Python版本 | 下载链接 |
---|---|---|
x86 | Python3.8 | 下载链接 |
x86 | Python3.9 | 下载链接 |
x86 | Python3.10 | 下载链接 |
aarch64 | Python3.8 | 下载链接 |
aarch64 | Python3.9 | 下载链接 |
aarch64 | Python3.10 | 下载链接 |
- 安装torch_npu依赖
运行一下命令安装依赖。
pip3 install pyyaml
pip3 install setuptools
- 安装torch_npu
pip3 install torch-npu==2.1.0rc1
某些特殊场景下,用户可能需要自行编译torch_npu。可以根据昇腾辅助软件表和PyTorch与Python版本配套表选择合适的分支。推荐使用Docker镜像编译torch_npu,可以通过以下步骤获取:
-
克隆torch_npu代码仓
git clone https://gitee.com/ascend/pytorch.git -b v2.1.0-5.0.rc3 --depth 1
-
构建镜像
cd pytorch/ci/docker/{arch} # {arch} for X86 or ARM docker build -t manylinux-builder:v1 .
-
进入Docker容器
docker run -it -v /{code_path}/pytorch:/home/pytorch manylinux-builder:v1 bash # {code_path} is the torch_npu source code path
-
编译torch_npu
以Python 3.8 为例。
cd /home/pytorch bash ci/build.sh --python=3.8
运行以下命令初始化CANN环境变量。
# Default path, change it if needed.
source /usr/local/Ascend/ascend-toolkit/set_env.sh
可以通过以下样例快速体验昇腾NPU。
import torch
import torch_npu
x = torch.randn(2, 2).npu()
y = torch.randn(2, 2).npu()
z = x.mm(y)
print(z)
PyTorch版本 | Python版本 |
---|---|
PyTorch1.11.0 | Python3.7.x(>=3.7.5), Python3.8.x, Python3.9.x, Python3.10.x |
PyTorch2.0.1 | Python3.8.x, Python3.9.x, Python3.10.x |
PyTorch2.1.0 | Python3.8.x, Python3.9.x, Python3.10.x |
AscendHub镜像版本/名称(链接) |
||||
---|---|---|---|---|
欢迎大家为社区做贡献。如果有任何疑问或建议,请提交gitee Issues,我们会尽快回复。感谢您的支持。
AscendPyTorch版本分支的维护阶段如下:
状态 | 时间 | 说明 |
---|---|---|
计划 | 1—3 个月 | 计划特性 |
开发 | 3个月 | 开发特性 |
维护 | 6—12个月 | 合入所有已解决的问题并发布版本 |
无维护 | 0—3 个月 | 合入所有已解决的问题,无专职维护人员,无版本发布 |
生命周期终止(EOL) | N/A | 分支不再接受任何修改 |
分支 | 状态 | 发布日期 | 后续状态 | EOL日期 |
---|---|---|---|---|
v2.0.2 | EOL | 2021/7/29 | N/A | |
v2.0.3 | EOL | 2021/10/15 | N/A | |
v2.0.4 | EOL | 2022/1/15 | N/A | |
v3.0.rc1 | EOL | 2022/4/10 | N/A | |
v3.0.rc2 | EOL | 2022/7/15 | N/A | |
v3.0.rc3 | 维护 | 2022/10/20 | 预计2023/10/20起无维护 | |
v3.0.0 | 维护 | 2023/1/18 | 预计2024/1/18起无维护 | |
v5.0.rc1 | 维护 | 2023/4/19 | 预计2024/4/19起无维护 | |
v5.0.rc2 | 维护 | 2023/7/19 | 预计2024/7/19起无维护 | |
v5.0.rc3 | 维护 | 2023/10/15 | 预计2024/10/15起无维护 |
PyTorch Ascend Adapter插件使用BSD许可证。详见LICENSE文件。