| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 3 年前 | ||
| 5 天前 | ||
| 1 个月前 | ||
| 2 年前 |
欢迎使用ACL_PyTorch
简介
为方便更多用户体验昇腾芯片澎湃推理算力,ACL_PyTorch目录下提供了经典和主流算法模型在昇腾设备上的端到端推理流程,覆盖计算机视觉、自然语言处理、语音、OCR、RAG、具身智能、时序序列预测等常见AI任务场景,并在持续更新中。如果您希望适配您的自定义模型,我们同时提供在昇腾设备上自行适配模型的迁移调优。
如何贡献
在开始贡献之前,请先阅读CONTRIBUTING。 谢谢!
版本说明
不同模型使用的版本配套可能存在差异,推荐基于维护策略中具体模型的文档所提供的版本配套使用。如您希望体验昇腾最新的版本配套关系,可参考下文内容。
最新版本配套如下:
| 依赖软件 | 软件安装指南 |
|---|---|
| 昇腾NPU驱动 | 《 驱动固件安装指南 》 |
| 昇腾NPU固件 | |
| Toolkit(开发套件) | 《 CANN 软件安装指南 》 |
| Kernel(算子包) | |
| NNAL(Ascend Transformer Boost加速库) | |
| PyTorch | 《 Ascend Extension for PyTorch 配置与安装 》 |
| torch_npu插件 | |
| apex |
torch_npu插件版本配套表地址:链接。
除了单独安装依赖软件的方式,我们也提供了容器化部署的方案,集成了CANN、Pytorch、ONNX等必要软件:
完整镜像路径 (<仓库地址>/<镜像名>:<Tag>) |
基础操作系统 | 目标硬件 | Dockerfile 归档路径 |
|---|---|---|---|
torch-onnx-inference:cann8.3.rc1_torch2.1.0-300I-DUO-ubuntu22.04-py3.11-aarch64 |
Ubuntu 22.04 | Atlas 300I DUO | ModelZoo-PyTorch/ACL_PyTorch/docker/cann8.3.rc1_torch2.1.0/Dockerfile.300IDUO.ubuntu |
torch-onnx-inference:cann8.3.rc1_torch2.1.0-300I-DUO-openeuler24.03-py3.11-aarch64 |
openEuler 24.03 | Atlas 300I DUO | ModelZoo-PyTorch/ACL_PyTorch/docker/cann8.3.rc1_torch2.1.0/Dockerfile.300IDUO.openeuler |
torch-onnx-inference:cann8.3.rc1_torch2.1.0-800I-A2-ubuntu22.04-py3.11-aarch64 |
Ubuntu 22.04 | Atlas 800I A2 | ModelZoo-PyTorch/ACL_PyTorch/docker/cann8.3.rc1_torch2.1.0/Dockerfile.800I_A2.ubuntu |
torch-onnx-inference:cann8.3.rc1_torch2.1.0-800I-A2-openeuler24.03-py3.11-aarch64 |
openEuler 24.03 | Atlas 800I A2 | ModelZoo-PyTorch/ACL_PyTorch/docker/cann8.3.rc1_torch2.1.0/Dockerfile.800I_A2.openeuler |
具体介绍及使用方式可以参考:OVERVIEW
快速体验
如果您希望快速了解ACL_PyTorch中的模型使用方式,推荐先体验 YOLOV26 。该用例以目标检测任务为例,包含环境准备、模型转换(PyTorch模型导出为ONNX,再使用ATC工具转换为昇腾离线模型)、数据集准备以及离线推理脚本示例,适合作为首次上手的参考。
建议按如下顺序体验:
- 参考本文档前文完成项目基础知识学习。
- 进入 YOLOV26目录,阅读该用例下的
README.md。 - 根据用例说明完成PyTorch原始模型导出ONNX,并使用ATC工具转换为昇腾离线模型(.om)。
- 执行用例下的推理脚本,完成离线推理体验。
通过该用例,您可以快速熟悉ACL_PyTorch中模型目录组织方式、依赖安装方法以及标准离线推理流程。完成体验后,再根据具体场景选择其他模型继续使用。
模型推理
- ACL_PyTorch包含多种模型用例,不同模型在环境依赖、模型转换、数据集准备以及推理脚本使用方式上可能存在差异。因此,模型推理请以各模型目录下的
README.md说明为准。 - 建议您根据下方“版本看护模型”列表,选择需要体验或推理的模型,点击对应链接进入模型目录后,按照该模型文档完成推理。
模型迁移调优
您可以根据ACL_PyTorch推理模型迁移调优指南进行模型的迁移、精度调试及性能调优。如果您希望将自定义PyTorch/ONNX模型迁移到昇腾设备进行推理,可参考ONNX推理流程和TorchAir推理流程进行迁移适配。
模型支持清单
💡 ACL_PyTorch中的模型区分为随版本看护模型和其他模型。
- 针对随版本看护模型:这些模型会时常更新及维护,代码和文档质量较高,您可以优先选择这些模型。
- 针对其他模型:这些模型看护频率较低,由各方角色贡献,如有需要您也可根据对应模型的README进行部署。 如果您想检索某个模型是否支持,可以在ACL_Pytorch全量支持清单中查询。
💡 除了ACL_PyTorch,Ascend-SACT组织中也存在很多推理模型,可以在Ascend-SACT中查询。
版本看护模型
计算机视觉
语音
嵌入
OCR
具身智能
其他模型
除以上版本看护模型范围外,其余ACL_PyTorch中的模型都界定为其他模型。这些模型涵盖了 built-in 与 contrib 目录下的计算机视觉、自然语言处理、语音、OCR、RAG、具身智能、时序序列预测等多个方向的经典与主流网络,可作为历史适配参考。
安全声明
运行用户建议
出于安全性及权限最小化角度考虑,不建议使用root等管理员类型账户使用。
文件权限控制
-
建议用户在主机(包括宿主机)及容器中设置运行系统umask值为0027及以上,保障新增文件夹默认最高权限为750,新增文件默认最高权限为640。
-
建议用户对个人数据、商业资产、源文件、推理过程中保存的各类文件等敏感内容做好权限管控,管控权限可参考表1进行设置。
表1 文件(夹)各场景权限管控推荐最大值
类型 linux权限参考最大值 用户主目录 750(rwxr-x---) 程序文件(含脚本文件、库文件等) 550(r-xr-x---) 程序文件目录 550(r-xr-x---) 配置文件 640(rw-r-----) 配置文件目录 750(rwxr-x---) 日志文件(记录完毕或者已经归档) 440(r--r-----) 日志文件(正在记录) 640(rw-r-----) 日志文件目录 750(rwxr-x---) Debug文件 640(rw-r-----) Debug文件目录 750(rwxr-x---) 临时文件目录 750(rwxr-x---) 维护升级文件目录 770(rwxrwx---) 业务数据文件 640(rw-r-----) 业务数据文件目录 750(rwxr-x---) 密钥组件、私钥、证书、密文文件目录 700(rwx—----) 密钥组件、私钥、证书、加密密文 600(rw-------) 加解密接口、加解密脚本 500(r-x------)
运行安全声明
- 建议用户结合运行环境资源状况编写对应推理脚本。若推理脚本与资源状况不匹配,如数据集加载内存大小超出内存容量限制、推理脚本在本地生成数据超过磁盘空间大小等情况,可能引发错误并导致进程意外退出。
公网地址声明
详见模型目录下的public_address_statement.md
免责声明
致ACL_PyTorch使用者
- ACL_PyTorch提供的模型仅供您用于非商业目的。
- 对于各模型,ACL_PyTorch平台仅提示性地向您建议可用于推理的数据集,华为不提供任何数据集,如您使用这些数据集进行推理,请您特别注意应遵守对应数据集的License,如您因使用数据集而产生侵权纠纷,华为不承担任何责任。
- 如您在使用ACL_PyTorch模型过程中,发现任何问题(包括但不限于功能问题、合规问题),请在Gitcode提交issue,我们将及时审视并解决。
致数据集所有者
如果您不希望您的数据集在ACL_PyTorch中的模型被提及,或希望更新ACL_PyTorch中的模型关于您的数据集的描述,请在Gitcode提交issue,我们将根据您的issue要求删除或更新您的数据集描述。衷心感谢您对ACL_PyTorch的理解和贡献。
License声明
Ascend ModelZoo提供的模型,如模型目录下存在License的,以该License为准。如模型目录下不存在License的,以Apache 2.0许可证许可,对应许可证文本可查阅Ascend ModelZoo根目录。