diff --git a/src/mlpack/methods/ann/layer/batchnorm_impl.hpp b/src/mlpack/methods/ann/layer/batchnorm_impl.hpp index 7475b808f6..32d89a934f 100644 --- a/src/mlpack/methods/ann/layer/batchnorm_impl.hpp +++ b/src/mlpack/methods/ann/layer/batchnorm_impl.hpp @@ -127,8 +127,9 @@ void BatchNorm::Gradient( for (size_t i = 0; i < normalized.n_rows; i++) { - normalized.row(i) = (input.row(i) - arma::as_scalar(arma::mean(input.row(i), 1))); - normalized.row(i) /= (arma::as_scalar(arma::sqrt(variance.row(i) + eps))); + normalized.row(i) = input.row(i) - arma::as_scalar(arma::mean(input.row(i), 1)); + normalized.row(i) /= + arma::as_scalar(arma::sqrt(arma::var(input.row(i), 1, 1) + eps)); } gradient.submat(0, 0, gamma.n_elem - 1, 0) = arma::sum(normalized % error, 1);