law backward_twice_accumulates
import bendtorch-core@0.1.0.0/src/autograd/backward_LAWS.bend as BackwardLAWSimport Base
import bendtorch-core@0.1.0.0/src/autograd/backward.bend as Backward
432# Repeated backward, like PyTorch's backward(retain_graph=True): the second
433# backward computes the same gradients and accumulates them again.
434law backward_twice_accumulates:
435 for +entries: List<&2, Backward.Entry>
436 for +output: Nat
437 for +found: List<&2, Maybe<&2, F32>>
438 for +computed: {Backward.gradients(Backward.Tape{entries}, output) == Done{found} : Result<&2, &2, Backward.Error, List<&2, Maybe<&2, F32>>>}
439 {again(Backward.backward(Backward.Tape{entries}, output), output) ==
440 Done{Backward.Tape{Backward.merge(Backward.merge(entries, found), found)}} : Result<&2, &2, Backward.Error, Backward.Tape>}
Uses (16)
Used by (0)
No other definition uses this definition.