step method

  1. @override
void step()
override

Implementation

@override
void step() {
  for (int p = 0; p < parameters.length; p = p + 1) {
    Tensor<dynamic> param = parameters[p];
    List<double> sList = _s[param.id]!;

    for (int i = 0; i < param.data.length; i = i + 1) {
      double grad = param.grad[i];
      sList[i] = beta * sList[i] + (1.0 - beta) * (grad * grad);
      param.data[i] = param.data[i] - (learningRate * grad) / (sqrt(sList[i]) + epsilon);
    }
  }
}