Ascend C 自定义PRelu算子
原文中文,约8600字,阅读约需21分钟。
📝
内容提要
本文介绍了Ascend C自定义PRelu算子的开发过程,PRelu是Relu的改进版本,可以提升模型的拟合能力和减小过拟合风险。文章详细介绍了安装开发者套件、生成算子工程代码、修改配置项、编译算子工程、验证算子正确性的步骤。
❓
Q&A
什么是PReLU算子,它的优势是什么?
PReLU是Parametric Rectified Linear Unit的缩写,是Relu的改进版本,能够提升模型的拟合能力并减小过拟合风险。
在Ascend C中如何安装开发者套件?
需要卸载旧版本的cann-toolkit,然后安装8.0版本的cann-toolkit,并安装依赖的protobuf。
如何创建PReLU自定义算子的工程描述文件?
创建名为PReluCustom.json的文件,定义输入输出及属性,包括输入x和输出y的描述。
PReLU算子的核心计算代码是怎样的?
核心代码处理输入数据,分别处理x<0和x>=0的情况,并合并结果,最终输出y。
如何验证Ascend C自定义算子的正确性?
需要生成测试数据并验证输出精度,使用gen_data.py生成输入和输出数据,使用verity_result.py进行验证。
在编译PReLU算子工程时需要注意哪些配置项?
需要修改CMakePresets.json中的ASCEND_CANN_PACKAGE_PATH等配置项,以确保编译成功。
🏷️