| 784 | REGISTER_GRADIENT_OP("Erf", ErfGrad); |
| 785 | |
| 786 | Status LgammaGrad(const Scope& scope, const Operation& op, |
| 787 | const std::vector<Output>& grad_inputs, |
| 788 | std::vector<Output>* grad_outputs) { |
| 789 | auto grad = grad_inputs[0]; |
| 790 | Scope grad_scope = scope.WithControlDependencies(grad); |
| 791 | auto x = ConjugateHelper(grad_scope, op.input(0)); |
| 792 | auto dx = Mul(grad_scope, grad, Digamma(grad_scope, x)); |
| 793 | grad_outputs->push_back(dx); |
| 794 | return grad_scope.status(); |
| 795 | } |
| 796 | REGISTER_GRADIENT_OP("Lgamma", LgammaGrad); |
| 797 | |
| 798 | Status MinOrMaxGrad(const Scope& scope, const Operation& op, |
nothing calls this directly
no test coverage detected