Developer Guide and Reference

  • 2022.1
  • 04/11/2022
  • Public Content

struct dnnl_batch_normalization_desc_t


A descriptor of a Batch Normalization operation. More…
#include <dnnl_types.h> struct dnnl_batch_normalization_desc_t { // fields dnnl_primitive_kind_t primitive_kind; dnnl_prop_kind_t prop_kind; dnnl_memory_desc_t data_desc; dnnl_memory_desc_t diff_data_desc; dnnl_memory_desc_t data_scaleshift_desc; dnnl_memory_desc_t diff_data_scaleshift_desc; dnnl_memory_desc_t stat_desc; float batch_norm_epsilon; unsigned flags; };

Detailed Documentation

A descriptor of a Batch Normalization operation.
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Used for self-identifying the primitive descriptor. Must be dnnl_batch_normalization.
The kind of propagation.
Source and destination memory descriptor.
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
dnnl_memory_desc_t data_scaleshift_desc
Scale and shift data and gradient memory descriptors.
Scaleshift memory descriptor uses 2D dnnl_nc format[2,Channels]. 1-st dimension contains gamma parameter, 2-nd dimension contains beta parameter.
Statistics memory descriptor.
Statistics (mean or variance) descriptor use 1D dnnl_x format[Channels].
float batch_norm_epsilon
Batch normalization epsilon parameter.

Product and Performance Information


Performance varies by use, configuration and other factors. Learn more at