Visible to Intel only — GUID: GUID-0F5FE457-012D-4CB2-B867-8677B295424D
Visible to Intel only — GUID: GUID-0F5FE457-012D-4CB2-B867-8677B295424D
struct dnnl::layer_normalization_backward::primitive_desc
Overview
Primitive descriptor for a layer normalization backward propagation primitive. More…
#include <dnnl.hpp>
struct primitive_desc: public dnnl::primitive_desc
{
// construction
primitive_desc();
primitive_desc(
const engine& aengine,
prop_kind aprop_kind,
const memory::desc& diff_src_desc,
const memory::desc& diff_dst_desc,
const memory::desc& src_desc,
const memory::desc& stat_desc,
float epsilon,
normalization_flags flags,
const layer_normalization_forward::primitive_desc& hint_fwd_pd,
const primitive_attr& attr = default_attr(),
bool allow_empty = false
);
primitive_desc(
const engine& aengine,
prop_kind aprop_kind,
const memory::desc& diff_src_desc,
const memory::desc& diff_dst_desc,
const memory::desc& src_desc,
float epsilon,
normalization_flags flags,
const layer_normalization_forward::primitive_desc& hint_fwd_pd,
const primitive_attr& attr = default_attr(),
bool allow_empty = false
);
primitive_desc(
const engine& aengine,
prop_kind aprop_kind,
const memory::desc& diff_src_desc,
const memory::desc& diff_dst_desc,
const memory::desc& src_desc,
const memory::desc& stat_desc,
memory::data_type diff_scale_shift_data_type,
memory::data_type scale_shift_data_type,
float epsilon,
normalization_flags flags,
const layer_normalization_forward::primitive_desc& hint_fwd_pd,
const primitive_attr& attr = default_attr(),
bool allow_empty = false
);
primitive_desc(
const engine& aengine,
prop_kind aprop_kind,
const memory::desc& diff_src_desc,
const memory::desc& diff_dst_desc,
const memory::desc& src_desc,
memory::data_type diff_scale_shift_data_type,
memory::data_type scale_shift_data_type,
float epsilon,
normalization_flags flags,
const layer_normalization_forward::primitive_desc& hint_fwd_pd,
const primitive_attr& attr = default_attr(),
bool allow_empty = false
);
primitive_desc(dnnl_primitive_desc_t pd);
// methods
memory::desc src_desc() const;
memory::desc weights_desc() const;
memory::desc dst_desc() const;
memory::desc diff_src_desc() const;
memory::desc diff_dst_desc() const;
memory::desc diff_weights_desc() const;
memory::desc mean_desc() const;
memory::desc variance_desc() const;
memory::desc workspace_desc() const;
dnnl::prop_kind get_prop_kind() const;
float get_epsilon() const;
normalization_flags get_flags() const;
};
Inherited Members
public:
// methods
handle<T, traits>& operator = (const handle<T, traits>&);
handle<T, traits>& operator = (handle<T, traits>&&);
void reset(T t, bool weak = false);
T get(bool allow_empty = false) const;
operator T () const;
operator bool () const;
bool operator == (const handle<T, traits>& other) const;
bool operator != (const handle& other) const;
engine get_engine() const;
const char* impl_info_str() const;
memory::dim query_s64(query what) const;
memory::dims get_strides() const;
memory::dims get_dilations() const;
memory::dims get_padding_l() const;
memory::dims get_padding_r() const;
float get_epsilon() const;
template <typename T = unsigned>
T get_flags() const;
dnnl::algorithm get_algorithm() const;
float get_alpha() const;
float get_beta() const;
int get_axis() const;
memory::dim get_local_size() const;
float get_k() const;
float get_p() const;
std::vector<float> get_factors() const;
dnnl::algorithm get_cell_kind() const;
dnnl::rnn_direction get_direction() const;
dnnl::algorithm get_activation_kind() const;
memory::dims get_kernel() const;
memory::dim get_group_size() const;
dnnl::prop_kind get_prop_kind() const;
memory::desc query_md(query what, int idx = 0) const;
memory::desc src_desc(int idx) const;
memory::desc dst_desc(int idx) const;
memory::desc weights_desc(int idx) const;
memory::desc diff_src_desc(int idx) const;
memory::desc diff_dst_desc(int idx) const;
memory::desc diff_weights_desc(int idx) const;
memory::desc src_desc() const;
memory::desc dst_desc() const;
memory::desc weights_desc() const;
memory::desc diff_src_desc() const;
memory::desc diff_dst_desc() const;
memory::desc diff_weights_desc() const;
memory::desc workspace_desc() const;
memory::desc scratchpad_desc() const;
engine scratchpad_engine() const;
primitive_attr get_primitive_attr() const;
dnnl::primitive::kind get_kind() const;
std::vector<uint8_t> get_cache_blob_id() const;
bool next_impl();
primitive_desc_base();
primitive_desc_base();
primitive_desc_base();
primitive_desc_base();
Detailed Documentation
Primitive descriptor for a layer normalization backward propagation primitive.
Construction
primitive_desc()
Default constructor. Produces an empty object.
primitive_desc(
const engine& aengine,
prop_kind aprop_kind,
const memory::desc& diff_src_desc,
const memory::desc& diff_dst_desc,
const memory::desc& src_desc,
const memory::desc& stat_desc,
float epsilon,
normalization_flags flags,
const layer_normalization_forward::primitive_desc& hint_fwd_pd,
const primitive_attr& attr = default_attr(),
bool allow_empty = false
)
Constructs a primitive descriptor for a layer normalization backward propagation primitive.
Parameters:
aengine |
Engine to use. |
aprop_kind |
Propagation kind. Possible values are dnnl::prop_kind::backward_data and dnnl::prop_kind::backward (diffs for all parameters are computed in this case). |
diff_src_desc |
Diff source memory descriptor. |
diff_dst_desc |
Diff destination memory descriptor. |
src_desc |
Source memory descriptor. |
stat_desc |
Statistics memory descriptors. |
epsilon |
Layer normalization epsilon parameter. |
flags |
Layer normalization flags (dnnl::normalization_flags). |
attr |
Primitive attributes to use. Attributes are optional and default to empty attributes. |
hint_fwd_pd |
Primitive descriptor for a layer normalization forward propagation primitive. It is used as a hint for deciding which memory format to use. |
allow_empty |
A flag signifying whether construction is allowed to fail without throwing an exception. In this case an empty object will be produced. This flag is optional and defaults to false. |
primitive_desc(
const engine& aengine,
prop_kind aprop_kind,
const memory::desc& diff_src_desc,
const memory::desc& diff_dst_desc,
const memory::desc& src_desc,
float epsilon,
normalization_flags flags,
const layer_normalization_forward::primitive_desc& hint_fwd_pd,
const primitive_attr& attr = default_attr(),
bool allow_empty = false
)
Constructs a primitive descriptor for a layer normalization backward propagation primitive.
Parameters:
aengine |
Engine to use. |
aprop_kind |
Propagation kind. Possible values are dnnl::prop_kind::backward_data and dnnl::prop_kind::backward (diffs for all parameters are computed in this case). |
diff_src_desc |
Diff source memory descriptor. |
diff_dst_desc |
Diff destination memory descriptor. |
src_desc |
Source memory descriptor. |
epsilon |
Layer normalization epsilon parameter. |
flags |
Layer normalization flags (dnnl::normalization_flags). |
attr |
Primitive attributes to use. Attributes are optional and default to empty attributes. |
hint_fwd_pd |
Primitive descriptor for a layer normalization forward propagation primitive. It is used as a hint for deciding which memory format to use. |
allow_empty |
A flag signifying whether construction is allowed to fail without throwing an exception. In this case an empty object will be produced. This flag is optional and defaults to false. |
primitive_desc(
const engine& aengine,
prop_kind aprop_kind,
const memory::desc& diff_src_desc,
const memory::desc& diff_dst_desc,
const memory::desc& src_desc,
const memory::desc& stat_desc,
memory::data_type diff_scale_shift_data_type,
memory::data_type scale_shift_data_type,
float epsilon,
normalization_flags flags,
const layer_normalization_forward::primitive_desc& hint_fwd_pd,
const primitive_attr& attr = default_attr(),
bool allow_empty = false
)
Constructs a primitive descriptor for a layer normalization backward propagation primitive with a user-provided data type for the scale and shift memory objects.
Parameters:
aengine |
Engine to use. |
aprop_kind |
Propagation kind. Possible values are dnnl::prop_kind::backward_data and dnnl::prop_kind::backward (diffs for all parameters are computed in this case). |
diff_src_desc |
Diff source memory descriptor. |
diff_dst_desc |
Diff destination memory descriptor. |
src_desc |
Source memory descriptor. |
stat_desc |
Statistics memory descriptors. |
diff_scale_shift_data_type |
Data type of diff scale and shift memory. If neither scale nor shift flag are specified the parameter is ignored. |
scale_shift_data_type |
Data type of scale and shift memory. If neither scale nor shift flag are specified the parameter is ignored. |
epsilon |
Layer normalization epsilon parameter. |
flags |
Layer normalization flags (dnnl::normalization_flags). |
attr |
Primitive attributes to use. Attributes are optional and default to empty attributes. |
hint_fwd_pd |
Primitive descriptor for a layer normalization forward propagation primitive. It is used as a hint for deciding which memory format to use. |
allow_empty |
A flag signifying whether construction is allowed to fail without throwing an exception. In this case an empty object will be produced. This flag is optional and defaults to false. |
primitive_desc(
const engine& aengine,
prop_kind aprop_kind,
const memory::desc& diff_src_desc,
const memory::desc& diff_dst_desc,
const memory::desc& src_desc,
memory::data_type diff_scale_shift_data_type,
memory::data_type scale_shift_data_type,
float epsilon,
normalization_flags flags,
const layer_normalization_forward::primitive_desc& hint_fwd_pd,
const primitive_attr& attr = default_attr(),
bool allow_empty = false
)
Constructs a primitive descriptor for a layer normalization backward propagation primitive with a user-provided data type for the scale and shift memory objects.
Parameters:
aengine |
Engine to use. |
aprop_kind |
Propagation kind. Possible values are dnnl::prop_kind::backward_data and dnnl::prop_kind::backward (diffs for all parameters are computed in this case). |
diff_src_desc |
Diff source memory descriptor. |
diff_dst_desc |
Diff destination memory descriptor. |
src_desc |
Source memory descriptor. |
diff_scale_shift_data_type |
Data type of diff scale and shift memory. If neither scale nor shift flag are specified the parameter is ignored. |
scale_shift_data_type |
Data type of scale and shift memory. If neither scale nor shift flag are specified the parameter is ignored. |
epsilon |
Layer normalization epsilon parameter. |
flags |
Layer normalization flags (dnnl::normalization_flags). |
attr |
Primitive attributes to use. Attributes are optional and default to empty attributes. |
hint_fwd_pd |
Primitive descriptor for a layer normalization forward propagation primitive. It is used as a hint for deciding which memory format to use. |
allow_empty |
A flag signifying whether construction is allowed to fail without throwing an exception. In this case an empty object will be produced. This flag is optional and defaults to false. |
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a layer normalization backward propagation primitive from a C API primitive descriptor that must have a matching kind.
Parameters:
pd |
C API primitive descriptor for a layer normalization backward propagation primitive. |
Methods
memory::desc src_desc() const
Returns a source memory descriptor.
Returns:
Source memory descriptor.
A zero memory descriptor if the primitive does not have a source parameter.
memory::desc weights_desc() const
Returns a weights memory descriptor.
Returns:
Weights memory descriptor.
A zero memory descriptor if the primitive does not have a weights parameter.
memory::desc dst_desc() const
Returns a destination memory descriptor.
Returns:
Destination memory descriptor.
A zero memory descriptor if the primitive does not have a destination parameter.
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Returns:
Diff source memory descriptor.
A zero memory descriptor if the primitive does not have a diff source memory with.
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Returns:
Diff destination memory descriptor.
A zero memory descriptor if the primitive does not have a diff destination parameter.
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Returns:
Diff weights memory descriptor.
A zero memory descriptor if the primitive does not have a diff weights parameter.
memory::desc mean_desc() const
Returns memory descriptor for mean.
Returns:
Memory descriptor for mean.
memory::desc variance_desc() const
Returns memory descriptor for variance.
Returns:
Memory descriptor for variance.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Returns:
Workspace memory descriptor.
A zero memory descriptor if the primitive does not require workspace parameter.
dnnl::prop_kind get_prop_kind() const
Returns a propagation kind.
Returns:
A propagation kind.
dnnl::prop_kind::undef if the primitive does not have a propagation parameter.
float get_epsilon() const
Returns an epsilon.
Returns:
An epsilon.
Zero if the primitive does not have an epsilon parameter.
normalization_flags get_flags() const
Returns normalization flags.
Returns:
Normalization flags.