前言
- 本文重点介绍Paddle与NPU的适配工作,PaddlePaddle是一个深度学习框架,类似于pytorch;PaddleCustomDeviece是适配层代码,类似于pytorch adapter;模型侧代码根据领域分为PaddleNLP、PaddleMix、PaddleClas、PaddleOCR等。
- 如果需要运行在线的训练或者推理,可以直接参考模型仓的README,并更改deviece为NPU即可。当前已经支持了大部分主流模型且在持续增加中,具体的模型列表可参照飞桨-昇腾模型支持列表,大部分模型的性能基本持平V100,少部分专项调优模型可以达到0.8*A800(主要是大模型,多模态)。
如果在线推理性能较差且只需要推理的场景,统一建议使用离线场景,Paddle2ONNX工具转化为ONNX,并使用atc转换为OM,具体可参照Paddle转OM以及离线推理章节内容。
硬件适配说明
- 当前的适配工作主要针对A2芯片,以下所有内容如果没有特殊说明都只针对A2芯片;
- A1芯片在大部分情况下没有问题,且使用方式与A2相同,如遇到类似项目可自行使用相同方式进行验证,遇到问题单点支撑;
310系列芯片没有进行过适配,建议直接走离线推理路径。
常用Paddle模型仓
- NLP代码仓PaddleNLP:https://github.com/PaddlePaddle/PaddleNLP
- 多模态代码仓PaddleMIX:https://github.com/PaddlePaddle/PaddleMIX
- 小模型总体仓库PaddleX:https://github.com/PaddlePaddle/PaddleX
- 其余仓库可查看Paddle主页面:https://github.com/PaddlePaddle
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。