struct dnnl_layer_normalization_desc_t¶
Overview¶
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.
Fields¶
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Used for self-identifying the primitive descriptor. Must be dnnl_layer_normalization.
dnnl_prop_kind_t prop_kind
The kind of propagation.
Possible values: dnnl_forward_training, dnnl_forward_inference, dnnl_backward, and dnnl_backward_data.
dnnl_memory_desc_t data_desc
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.
dnnl_memory_desc_t stat_desc
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.