A primitive to perform batch normalization. More...
Functions | |
dnnl_status_t DNNL_API | dnnl_batch_normalization_forward_desc_init (dnnl_batch_normalization_desc_t *bnrm_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *data_desc, float epsilon, unsigned flags) |
Initializes a batch normalization descriptor bnrm_desc for forward propagation using prop_kind (possible values are dnnl_forward_training and dnnl_forward_inference), memory descriptor data_desc , normalization parameter epsilon , and flags set using bit flags of type dnnl_batch_normalization_desc_t. More... | |
dnnl_status_t DNNL_API | dnnl_batch_normalization_backward_desc_init (dnnl_batch_normalization_desc_t *bnrm_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, float epsilon, unsigned flags) |
Initializes a batch normalization descriptor bnrm_desc for backward propagation with respect to data and scale-shift parameters using memory descriptors data_desc and diff_data_desc , normalization parameter epsilon , and flags set using bit flags of type dnnl_batch_normalization_desc_t. More... | |
A primitive to perform batch normalization.
Both forward and backward passes support in-place operation; that is, src and dst point to the same memory for forward pass, and diff_dst and diff_src point to the same memory for backward pass.
Batch normalization supports different flavors controlled by dnnl_batch_normalization_desc_t. For example, batch normalization can compute the mean and variance on its own or take them as inputs. It can either perform scaling and shifting using gamma and beta parameters or not. Optionally, it can also perform a fused ReLU, which in case of training would also require a workspace.
dnnl_status_t DNNL_API dnnl_batch_normalization_forward_desc_init | ( | dnnl_batch_normalization_desc_t * | bnrm_desc, |
dnnl_prop_kind_t | prop_kind, | ||
const dnnl_memory_desc_t * | data_desc, | ||
float | epsilon, | ||
unsigned | flags | ||
) |
Initializes a batch normalization descriptor bnrm_desc
for forward propagation using prop_kind
(possible values are dnnl_forward_training and dnnl_forward_inference), memory descriptor data_desc
, normalization parameter epsilon
, and flags
set using bit flags of type dnnl_batch_normalization_desc_t.
Inputs:
flags
flags
flags
Outputs:
flags
prop_kind
= dnnl_forward_trainingflags
and prop_kind
= dnnl_forward_trainingflags
and prop_kind
= dnnl_forward_trainingdnnl_status_t DNNL_API dnnl_batch_normalization_backward_desc_init | ( | dnnl_batch_normalization_desc_t * | bnrm_desc, |
dnnl_prop_kind_t | prop_kind, | ||
const dnnl_memory_desc_t * | diff_data_desc, | ||
const dnnl_memory_desc_t * | data_desc, | ||
float | epsilon, | ||
unsigned | flags | ||
) |
Initializes a batch normalization descriptor bnrm_desc
for backward propagation with respect to data and scale-shift parameters using memory descriptors data_desc
and diff_data_desc
, normalization parameter epsilon
, and flags
set using bit flags of type dnnl_batch_normalization_desc_t.
Inputs:
flags
flags
Outputs:
flags
and prop_kind
= dnnl_backward