step method
Implementation
@override
void step() {
for (int p = 0; p < parameters.length; p = p + 1) {
Tensor<dynamic> param = parameters[p];
List<double> vList = _v[param.id]!;
for (int i = 0; i < param.data.length; i = i + 1) {
double grad = param.grad[i];
double vOld = vList[i];
double vNew = momentum * vOld + grad;
vList[i] = vNew;
// NAG update rule
param.data[i] = param.data[i] - learningRate * (grad + momentum * vNew);
}
}
}