# BatchNormForwardTraining¶

## General¶

BatchNormForwardTraining operation performs batch normalization at training mode.

Mean and variance are computed at runtime, the following formulas are used:

• $$\mu(c) = \frac{1}{NHW} \sum\limits_{nhw} \src(n, c, h, w)_{}$$,

• $$\sigma^2(c) = \frac{1}{NHW} \sum\limits_{nhw} {}_{} (\src(n, c, h, w) - \mu(c))^2$$.

## Operation attributes¶

Attribute Name

De

epsilon

A number to be added to the variance to avoid division by zero.

f32

A positive f32 value

Required

momentum

A number to be used to calculate running mean and running variance.

f32

A positive f32 value

Optional

data_format

Controls how to interpret the shape of src and dst .

string

NCX , NXC (default)

Optional

## Execution arguments¶

The inputs and outputs must be provided according to below index order when constructing an operation.

### Inputs¶

Index

Argu

0

src

Required

1

mean

Required

2

variance

Required

3

gamma

Optional

4

beta ( $$\sigma^2$$ )

Optional

Note

gamma and beta should be either both provided or neither provided.

### Outputs¶

Index

Argu

0

dst

Required

1

running_mean

Required

2

running_variance

Required

3

batch_mean

Required

4

batch_variance

Required

## Supported data types¶

BatchNormInference operation supports the following data type combinations.

Src /

f32

f32

bf16

f32, bf16

f16

f32