Ascend C 自定义PRelu算子
💡
原文中文,约8600字,阅读约需21分钟。
📝
内容提要
本文介绍了Ascend C自定义PRelu算子的开发过程,PRelu是Relu的改进版本,可以提升模型的拟合能力和减小过拟合风险。文章详细介绍了安装开发者套件、生成算子工程代码、修改配置项、编译算子工程、验证算子正确性的步骤。
🎯
关键要点
- PReLU是Parametric Rectified Linear Unit的缩写,是Relu的改进版本,能够提升模型拟合能力并减小过拟合风险。
- 在Ascend C进行自定义算子开发前,需要安装相关驱动、固件和开发者套件,推荐使用8.0版本。
- 创建单算子工程描述文件PReluCustom.json,定义输入输出及属性。
- 使用msopgen工具生成单算子工程代码,并根据本地情况修改CMakePresets.json中的配置项。
- 算子计算的核心代码处理输入数据,分别处理x<0和x>=0的情况,并合并结果。
- 编写和注册算子类PReluCustom,设置输入输出和属性,并定义形状推断和分块函数。
- 编译算子工程并进行部署,确保编译成功。
- 进行算子正确性验证,生成测试数据并验证输出精度。
➡️