function batchNorm_(x, mean, variance, offset, scale, varianceEpsilon) {
	  if (varianceEpsilon == null) {
	    varianceEpsilon = 0.001;
	  }

	  var $x = convertToTensor(x, 'x', 'batchNorm');
	  var $mean = convertToTensor(mean, 'mean', 'batchNorm');
	  var $variance = convertToTensor(variance, 'variance', 'batchNorm');
	  var $scale;

	  if (scale != null) {
	    $scale = convertToTensor(scale, 'scale', 'batchNorm');
	  }

	  var $offset;

	  if (offset != null) {
	    $offset = convertToTensor(offset, 'offset', 'batchNorm');
	  }

	  assert($mean.rank === $variance.rank, function () {
	    return 'Batch normalization gradient requires mean and variance to have ' + 'equal ranks.';
	  });
	  assert($offset == null || $mean.rank === $offset.rank, function () {
	    return 'Batch normalization gradient requires mean and offset to have ' + 'equal ranks.';
	  });
	  assert($scale == null || $mean.rank === $scale.rank, function () {
	    return 'Batch normalization gradient requires mean and scale to have ' + 'equal ranks.';
	  });
	  var x4D = xAs4D($x);
	  var inputs = {
	    x: x4D,
	    scale: $scale,
	    offset: $offset,
	    mean: $mean,
	    variance: $variance
	  };
	  var attrs = {
	    varianceEpsilon: varianceEpsilon
	  }; // tslint:disable-next-line: no-unnecessary-type-assertion

	  var res = ENGINE.runKernel(FusedBatchNorm, inputs, attrs);
	  return reshape(res, $x.shape);
	}
Batch normalization.

As described in
[http://arxiv.org/abs/1502.03167](http://arxiv.org/abs/1502.03167).

Mean, variance, scale, and offset can be of two shapes:
  - The same shape as the input.
  - In the common case, the depth dimension is the last dimension of x, so
    the values would be an `tf.Tensor1D` of shape [depth].

Also available are stricter rank-specific methods with the same signature
as this method that assert that parameters passed are of given rank
  - `tf.batchNorm2d`
  - `tf.batchNorm3d`
  - `tf.batchNorm4d`

@param x The input Tensor.
@param mean A mean Tensor.
@param variance A variance Tensor.
@param offset An offset Tensor.
@param scale A scale Tensor.
@param varianceEpsilon A small float number to avoid dividing by 0.

@doc {heading: 'Operations', subheading: 'Normalization'}