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等配置项,以确保编译成功。

🏷️

标签

➡️

继续阅读