def sgd_l
bendtorch@1.3.0.0 · main.bend:238
import bendtorch@1.3.0.0/main.bend as Bendtorch
import Base
import bend-ml-tensor-array@0.1.18.0/main.bend as TA
238
239def sgd_l(nleft: Nat, +t: U32, +lr: F32, rw: Array<F32> & F32, rg: Array<F32> & F32) -> TA.P2:
240 match nleft rw rg:
241 case 0n Tuple{w, x} Tuple{g, y}:
242 TA.P2{w, g}
243 case 1n+p Tuple{w, +x} Tuple{g, +y}:
244 sgd_l(p, (t + 1 : U32), lr, Array.get(F32, Array.set(F32, w, t, (x + (F32.neg(lr) * y : F32) : F32)), (t + 1 : U32)), Array.get(F32, Array.set(F32, g, t, 0.0), (t + 1 : U32)))