| 324 | REGISTER_GRADIENT_OP("PadV2", PadGrad<true>); |
| 325 | |
| 326 | Status SpaceToBatchGrad(const Scope& scope, const Operation& op, |
| 327 | const std::vector<Output>& grad_inputs, |
| 328 | std::vector<Output>* grad_outputs) { |
| 329 | int block_size; |
| 330 | TF_RETURN_IF_ERROR( |
| 331 | GetNodeAttr(op.node()->attrs(), "block_size", &block_size)); |
| 332 | grad_outputs->push_back( |
| 333 | BatchToSpace(scope, grad_inputs[0], op.input(1), block_size)); |
| 334 | grad_outputs->push_back(NoGradient()); |
| 335 | return scope.status(); |
| 336 | } |
| 337 | REGISTER_GRADIENT_OP("SpaceToBatch", SpaceToBatchGrad); |
| 338 | |
| 339 | Status SpaceToBatchNDGrad(const Scope& scope, const Operation& op, |
nothing calls this directly
no test coverage detected