function regularNormalizeBatchInTraining(x, gamma, beta, reductionAxes, epsilon) {
	  if (epsilon === void 0) {
	    epsilon = 1e-3;
	  }

	  return tidy(function () {
	    var meanAndVariance = moments(x, reductionAxes);
	    var mean = meanAndVariance.mean;
	    var variance = meanAndVariance.variance;
	    var normed = batchNormalization(x, mean, variance, beta, gamma, epsilon);
	    return [normed, mean, variance];
	  });
	}
Non-broadcasting batch normalization for use in training (not inference).

The input is normalized to zero mean and unit variance along the
`reductionAxes`, followed by scaling with `gamma` and shifted by `beta`.
The result of that is returned as the first element
of the returned `Array`. The other two elements are the mean and variance,
respectively.

@param x Input tensor to be normalized.
@param gamma Tensor by which to scale the input.
@param beta Tensor by which to center the input.
@param reductionAxes Axes over which to normalize.
@param epsilon Fuzz factor.
@returns An `Array` of three `Tensors`:
  [normalized tensor, mean of input, variance of input].