Developer Guide and Reference

  • 2022.1
  • 04/11/2022
  • Public Content

struct dnnl_layer_normalization_desc_t


A descriptor of a Layer Normalization operation. More…
#include <dnnl_types.h> struct dnnl_layer_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 layer_norm_epsilon; unsigned flags; };

Detailed Documentation

A descriptor of a Layer Normalization operation.
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Used for self-identifying the primitive descriptor. Must be dnnl_layer_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_ab format[2, normalized_dim] where 1-st dimension contains gamma parameter, 2-nd dimension contains beta parameter. Normalized_dim is equal to the last logical dimension of the data tensor across which normalization is performed.
Mean and variance data memory descriptors.
Statistics (mean and variance) memory descriptor is the k-dimensional tensor where k is equal to data_tensor_ndims - 1 and may have any plain (stride[last_dim] == 1) user-provided format.
float layer_norm_epsilon
Layer normalization epsilon parameter.

Product and Performance Information


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