Open Adversarr opened 1 month ago
Many other simple(even linear) operators also do not support high order derivatives, such as reshape
. Even sin/cos
do not have high order derivatives(≥4). PyTorch support all kinds of this.
trace_grad 一阶微分未实现反向算子,即 trace_double_grad,故而不支持高阶微分。 如果需要支持高阶微分,有如下两种方案: 1)实现 trace_double_grad, trace_triple_grad 等更高阶算子,代价高,且只能支持有限阶微分; 2)基于组合算子机制,实现 trace_grad 的组合逻辑,即使用基础算子集合组合实现 trace_grad,对 trace_grad 求二阶甚至更高阶的时候,只使用基础算子集合,理论支持无限阶。
我看一下框架组合算子机制的同学是谁在支持吧
Many other simple(even linear) operators also do not support high order derivatives, such as
reshape
. Evensin/cos
do not have high order derivatives(≥4). PyTorch support all kinds of this.
这种也是需要组合算子支持,否则一直设计高阶算子,代价太高了
bug描述 Describe the Bug
Environment: paddlepaddle, 3.0.0b1, py312_mac
Runtime Error thrown when executing following code. The trace operator does not support high order diff, but trace operator's second order diff is trivial.
Error msg: