| 197 | REGISTER_GRADIENT_OP("L2Loss", L2LossGrad); |
| 198 | |
| 199 | Status BiasAddGradHelper(const Scope& scope, const Operation& op, |
| 200 | const std::vector<Output>& grad_inputs, |
| 201 | std::vector<Output>* grad_outputs) { |
| 202 | string data_format; |
| 203 | TF_RETURN_IF_ERROR( |
| 204 | GetNodeAttr(op.output(0).node()->attrs(), "data_format", &data_format)); |
| 205 | auto dx_1 = |
| 206 | BiasAddGrad(scope, grad_inputs[0], BiasAddGrad::DataFormat(data_format)); |
| 207 | grad_outputs->push_back(Identity(scope, grad_inputs[0])); |
| 208 | grad_outputs->push_back(dx_1); |
| 209 | return scope.status(); |
| 210 | } |
| 211 | REGISTER_GRADIENT_OP("BiasAdd", BiasAddGradHelper); |
| 212 | |
| 213 | Status Conv2DGrad(const Scope& scope, const Operation& op, |
nothing calls this directly
no test coverage detected