def sgd_loop
bendtorch-gpu@1.3.0.0 · main.bend:207
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
207def sgd_loop(k: Nat, +i: U32, +l: U32, +lr: F32, rw: Array<F32> & F32, rg: Array<F32> & F32) -> TG.O2:
208 match k rw rg:
209 case 0n Tuple{w, +x} Tuple{g, +y}: TG.O2{w, g}
210 case 1n+q Tuple{w, +x} Tuple{g, +y}:
211 sgd_loop(q, (i + l : U32), l, lr, Array.get(F32, Array.set(F32, w, i, (x + (F32.neg(lr) * y : F32) : F32)), (i + l : U32)), Array.get(F32, Array.set(F32, g, i, 0.0), (i + l : U32)))