| 549 | } |
| 550 | |
| 551 | ValueRefList conv_bwd_data_rule( |
| 552 | const ConvolutionBackwardData& op, Span<ValueRef>& inputs, |
| 553 | const bool& auto_convert, const FormatTransformation& t) { |
| 554 | auto&& inp_format = inputs[0].cast(t.value_type()).format(); |
| 555 | if (inp_format == FT::NHWC) { |
| 556 | auto new_param = op.param(); |
| 557 | new_param.format = ConvolutionBackwardData::Format::NHWC; |
| 558 | auto new_op = ConvolutionBackwardData::make(new_param, op.policy(), op.dtype); |
| 559 | return identity_rule_helper(*new_op, inputs, t); |
| 560 | } |
| 561 | return identity_rule_helper(op, inputs, t); |
| 562 | } |
| 563 | |
| 564 | // clang-format off |
| 565 | #define FOREACH_MULTI_INPS_NO_PARAM_OP(cb) \ |
nothing calls this directly
no test coverage detected