https://cloud.tencent.com/developer/section/1475696
tensorflow中创建operator需要5个操作:
1.在C ++文件中注册新操作。操作注册为操作的功能定义了一个接口(规范),它独立于操作的实现。例如,op注册定义了op的名称和op的输入和输出。它还定义了用于张量形状推断的形状函数。
2.在C ++中实现op。op的实现称为内核,它是您在步骤1中注册的规范的具体实现。对于不同的输入/输出类型或体系结构(例如,CPU,GPU),可以有多个内核。
3.创建一个Python包装器(可选)。这个包装器是用于在Python中创建操作的公共API。默认的包装是从op注册生成的,可以直接使用或添加。
4.编写一个函数来计算op(可选)的梯度。
5.测试操作。为了方便起见,我们通常在Python中执行此操作,但您也可以在C ++中测试操作。如果您定义了梯度,您可以使用Python梯度检查器来验证它们。可以参考relu_op_test.py测试Relu类运算符及其梯度的前向函数。
网友评论