function batchNorm_(x, mean, variance, offset, scale, varianceEpsilon) {
    if (varianceEpsilon == null) varianceEpsilon = 0.001;
    const $x = (0, _tensorUtilEnv.convertToTensor)(x, "x", "batchNorm");
    const $mean = (0, _tensorUtilEnv.convertToTensor)(mean, "mean", "batchNorm");
    const $variance = (0, _tensorUtilEnv.convertToTensor)(variance, "variance", "batchNorm");
    let $scale;
    if (scale != null) $scale = (0, _tensorUtilEnv.convertToTensor)(scale, "scale", "batchNorm");
    let $offset;
    if (offset != null) $offset = (0, _tensorUtilEnv.convertToTensor)(offset, "offset", "batchNorm");
    _util.assert($mean.rank === $variance.rank, ()=>"Batch normalization gradient requires mean and variance to have equal ranks.");
    _util.assert($offset == null || $mean.rank === $offset.rank, ()=>"Batch normalization gradient requires mean and offset to have equal ranks.");
    _util.assert($scale == null || $mean.rank === $scale.rank, ()=>"Batch normalization gradient requires mean and scale to have equal ranks.");
    const x4D = (0, _batchnormUtil.xAs4D)($x);
    const inputs = {
        x: x4D,
        scale: $scale,
        offset: $offset,
        mean: $mean,
        variance: $variance
    };
    const attrs = {
        varianceEpsilon
    };
    // tslint:disable-next-line: no-unnecessary-type-assertion
    const res = (0, _engine.ENGINE).runKernel((0, _kernelNames.FusedBatchNorm), inputs, attrs);
    return (0, _reshape.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 a `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'}