tensor_optimizer.bend
stelliferous@0.0.3.0 · 11 lines · 0 definitions
1# Parameter updates in a fixed FP32 order. The parameter's storage is reused.
2import Base
3import stelliferous@0.0.3.0/tensor.bend as Tensors
4import stelliferous@0.0.3.0/tensor_f32.bend as F
5
6def Tensor() -> Type:
7 Tensors.Tensor<F32>
8
9# parameter - gradient * rate, for a gradient of the parameter's shape.
10def sgd(parameter: Tensor(),gradient: Tensor(),+rate: F32) -> Tensor():
11 F.sub(parameter,F.mul_scalar(gradient,rate))