欢迎使用ModelZoo-PyTorch

简介

ModelZoo-PyTorch提供基于昇腾设备适配的训练模型参考,覆盖计算机视觉、自然语言处理、语音、多模态、推荐等常见AI任务。目录中的模型通常包含环境准备、数据集与预训练权重准备、训练脚本、结果说明等内容,可作为开发者在昇腾训练环境中上手、验证和迁移PyTorch模型的参考。我们会持续补充典型网络和相关预训练模型,如果您在使用过程中有需求或建议,欢迎在ModelZoo-PyTorch/issues提交issue。

如何贡献

在开始贡献之前,请先阅读CONTRIBUTING_TRAIN。 谢谢!

版本说明

💡 版本配套表在不同模型中的应用策略可能不一致,详情参考维护策略

💡 使用ModelZoo-PyTorch中的PyTorch训练模型前,请先确认PyTorch和CANN版本,然后匹配对应的PyTorch Extension、HDK和Python版本。

最新版本配套如下:

依赖软件 软件安装指南
昇腾NPU驱动 驱动固件安装指南
昇腾NPU固件
Toolkit(开发套件) CANN 软件安装指南
Kernel(算子包)
NNAL(Ascend Transformer Boost加速库)
PyTorch Ascend Extension for PyTorch 配置与安装
torch_npu插件
apex

版本配套表地址:链接

快速体验

如果您希望快速了解ModelZoo-PyTorch中的模型使用方式,推荐先体验 BERT-NER-Pytorch 。该用例以命名实体识别(NER)任务为例,包含环境准备、数据集准备、预训练权重准备以及训练脚本示例,适合作为首次上手的参考。

建议按如下顺序体验:

  1. 参考本文档前文完成PyTorch、torch_npu、CANN等基础环境安装。
  2. 进入 PyTorch/contrib/nlp/BERT-NER-Pytorch 目录,阅读该用例下的 README.md
  3. 根据用例说明准备 Cluener 数据集和 bert-base-chinese 预训练权重。
  4. 执行 test 目录中的训练脚本,完成单机多卡训练体验。

通过该用例,您可以快速熟悉ModelZoo-PyTorch中模型目录组织方式、依赖安装方法以及标准训练流程。完成体验后,再根据具体场景选择其他模型继续使用。

模型训练

  1. ModelZoo-PyTorch包含多种模型用例,不同模型在环境依赖、数据集准备、预训练权重获取以及训练脚本使用方式上可能存在差异。因此,模型训练请以各模型目录下的 README.md 说明为准。
  2. 建议您根据下方“随版本演进模型”列表,选择需要体验或训练的模型,点击对应链接进入模型目录后,按照该模型文档完成模型训练。

模型迁移调优

您可以根据PyTorch训练模型迁移调优指南进行模型的迁移、精度调试及性能调优。

维护策略

💡 ModelZoo-PyTorch中的模型区分为随版本演进模型和不随版本演进模型。

  • 针对随版本演进模型:请跟随版本配套表,选择最新版本使用。
  • 针对不随版本演进模型:这些模型已不随PyTorch和PyTorch Extension的版本演进,您可以选择以下策略。
    • 可根据对应模型的README选择对应PyTorch、PyTorch Extension、CANN、HDK版本使用。
    • 如您对该模型有新版本PyTorch、PyTorch Extension、CANN、HDK的适配需求,可在modelzoo/issues提交issue,我们会及时处理。

范围界定

随版本演进模型

随版本演进模型的最新性能数据均在OpenEuler操作系统下实测获得。如您使用的是其他操作系统,则展示的数据仅作为参考。

不随版本演进模型

除以上随版本演进模型范围外,其余ModelZoo-PyTorch中的模型都界定为不随版本演进模型。

安全声明

运行用户建议

出于安全性及权限最小化角度考虑,不建议使用root等管理员类型账户使用。

文件权限控制

  1. 建议用户在主机(包括宿主机)及容器中设置运行系统umask值为0027及以上,保障新增文件夹默认最高权限为750,新增文件默认最高权限为640。

  2. 建议用户对个人数据、商业资产、源文件、训练过程中保存的各类文件等敏感内容做好权限管控,管控权限可参考表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------)

运行安全声明

  1. 建议用户结合运行环境资源状况编写对应训练脚本。若训练脚本与资源状况不匹配,如数据集加载内存大小超出内存容量限制、训练脚本在本地生成数据超过磁盘空间大小等情况,可能引发错误并导致进程意外退出。

公网地址声明

详见各模型目录下的public_address_statement.md

免责声明

致ModelZoo使用者

  1. ModelZoo提供的模型仅供您用于非商业目的。
  2. 对于各模型,ModelZoo平台仅提示性地向您建议可用于训练的数据集,华为不提供任何数据集,如您使用这些数据集进行训练,请您特别注意应遵守对应数据集的License,如您因使用数据集而产生侵权纠纷,华为不承担任何责任。
  3. 如您在使用ModelZoo模型过程中,发现任何问题(包括但不限于功能问题、合规问题),请在Gitcode提交issue,我们将及时审视并解决。

致数据集所有者

如果您不希望您的数据集在ModelZoo中的模型被提及,或希望更新ModelZoo中的模型关于您的数据集的描述,请在Gitcode提交issue,我们将根据您的issue要求删除或更新您的数据集描述。衷心感谢您对ModelZoo的理解和贡献。

License声明

Ascend ModelZoo提供的模型,如模型目录下存在License的,以该License为准。如模型目录下不存在License的,以Apache 2.0许可证许可,对应许可证文本可查阅Ascend ModelZoo根目录。