forward method

Tensor2D forward(
  1. Tensor2D x
)

Implementation

Tensor2D forward(Tensor2D x) {
  final out = Tensor2D.zeros(x.rows, x.cols);
  final cols = x.cols;
  for (var i = 0; i < x.rows; i++) {
    final base = i * cols;
    var mean = 0.0;
    for (var j = 0; j < cols; j++) {
      mean += x.data[base + j];
    }
    mean /= cols;
    var varSum = 0.0;
    for (var j = 0; j < cols; j++) {
      final d = x.data[base + j] - mean;
      varSum += d * d;
    }
    final invStd = 1.0 / math.sqrt(varSum / cols + eps);
    for (var j = 0; j < cols; j++) {
      final norm = (x.data[base + j] - mean) * invStd;
      out.data[base + j] = norm * gamma[j] + beta[j];
    }
  }
  return out;
}