自定义算子
当开发网络遇到内置算子不足以满足需求时,你可以利用MindSpore的自定义算子功能接入你的算子。当前MindSpore提供了两种方式接入自定义算子,分别是 基于Custom原语接入 和 基于CustomOpBuilder接入 。
接口比较 |
||
---|---|---|
支持模式 |
静态图(Graph Mode)和动态图(PyNative Mode) |
动态图(PyNative Mode) |
接口功能 |
提供统一的Custom原语,在算子执行的各个阶段分别调用用户接口。 |
在线编译和加载自定义算子模块,可以直接应用到网络当中。 |
优点 |
同时支持动态图和静态图,算子调度执行流程与内置算子一致,执行性能高效。 |
基于C++ tensor开发算子,自定义执行流程,更加直观。 |
缺点 |
接口限制较多,算子执行流程对用户不可见。 |
开发算子涉及的接口较多,当前暂无简洁高效的C++ API,开发高效算子的难度较大。 |
特性等级 |
STABLE |
BETA |