def mom_loop

bendtorch-gpu@1.3.0.0 · main.bend:220

import bendtorch-gpu@1.3.0.0/main.bend as BendtorchGpu
import Base
import bend-ml-tensor-gpu@0.1.5.0/main.bend as TG

220def mom_loop(k: Nat, +i: U32, +l: U32, +lr: F32, +mu: F32, rw: Array<F32> & F32, rg: Array<F32> & F32, rm: Array<F32> & F32) -> TG.O3:
221  match k rw rg rm:
222    case 0n Tuple{w, +x} Tuple{g, +y} Tuple{m, +b}: TG.O3{w, g, m}
223    case 1n+q Tuple{w, +x} Tuple{g, +y} Tuple{m, +b}:
224      +nb = ((b * mu : F32) + y : F32)
225      +u = (i + l : U32)
226      mom_loop(q, u, l, lr, mu, Array.get(F32, Array.set(F32, w, i, (x + (F32.neg(lr) * nb : F32) : F32)), u), Array.get(F32, Array.set(F32, g, i, 0.0), u), Array.get(F32, Array.set(F32, m, i, nb), u))

Uses (13)

Used by (1)