oneAPI Deep Neural Network Library (oneDNN)
Performance library for Deep Learning
1.96.0
dnnl::lstm_backward::desc Struct Reference

Descriptor for an LSTM backward propagation primitive. More...

#include <dnnl.hpp>

Collaboration diagram for dnnl::lstm_backward::desc:

Public Member Functions

 desc (prop_kind aprop_kind, rnn_direction direction, const memory::desc &src_layer_desc, const memory::desc &src_iter_desc, const memory::desc &src_iter_c_desc, const memory::desc &weights_layer_desc, const memory::desc &weights_iter_desc, const memory::desc &weights_peephole_desc, const memory::desc &weights_projection_desc, const memory::desc &bias_desc, const memory::desc &dst_layer_desc, const memory::desc &dst_iter_desc, const memory::desc &dst_iter_c_desc, const memory::desc &diff_src_layer_desc, const memory::desc &diff_src_iter_desc, const memory::desc &diff_src_iter_c_desc, const memory::desc &diff_weights_layer_desc, const memory::desc &diff_weights_iter_desc, const memory::desc &diff_weights_peephole_desc, const memory::desc &diff_weights_projection_desc, const memory::desc &diff_bias_desc, const memory::desc &diff_dst_layer_desc, const memory::desc &diff_dst_iter_desc, const memory::desc &diff_dst_iter_c_desc, rnn_flags flags=rnn_flags::undef)
 Constructs an LSTM (with or without peephole and with or without projection) descriptor for backward propagation using prop_kind, direction, and memory descriptors. More...
 
 desc (prop_kind aprop_kind, rnn_direction direction, const memory::desc &src_layer_desc, const memory::desc &src_iter_desc, const memory::desc &src_iter_c_desc, const memory::desc &weights_layer_desc, const memory::desc &weights_iter_desc, const memory::desc &weights_peephole_desc, const memory::desc &bias_desc, const memory::desc &dst_layer_desc, const memory::desc &dst_iter_desc, const memory::desc &dst_iter_c_desc, const memory::desc &diff_src_layer_desc, const memory::desc &diff_src_iter_desc, const memory::desc &diff_src_iter_c_desc, const memory::desc &diff_weights_layer_desc, const memory::desc &diff_weights_iter_desc, const memory::desc &diff_weights_peephole_desc, const memory::desc &diff_bias_desc, const memory::desc &diff_dst_layer_desc, const memory::desc &diff_dst_iter_desc, const memory::desc &diff_dst_iter_c_desc, rnn_flags flags=rnn_flags::undef)
 Constructs an LSTM (with or without peephole) descriptor for backward propagation using prop_kind, direction, and memory descriptors. More...
 
 desc (prop_kind aprop_kind, rnn_direction direction, const memory::desc &src_layer_desc, const memory::desc &src_iter_desc, const memory::desc &src_iter_c_desc, const memory::desc &weights_layer_desc, const memory::desc &weights_iter_desc, const memory::desc &bias_desc, const memory::desc &dst_layer_desc, const memory::desc &dst_iter_desc, const memory::desc &dst_iter_c_desc, const memory::desc &diff_src_layer_desc, const memory::desc &diff_src_iter_desc, const memory::desc &diff_src_iter_c_desc, const memory::desc &diff_weights_layer_desc, const memory::desc &diff_weights_iter_desc, const memory::desc &diff_bias_desc, const memory::desc &diff_dst_layer_desc, const memory::desc &diff_dst_iter_desc, const memory::desc &diff_dst_iter_c_desc, rnn_flags flags=rnn_flags::undef)
 Constructs an LSTM descriptor for backward propagation using prop_kind, direction, and memory descriptors. More...
 

Detailed Description

Descriptor for an LSTM backward propagation primitive.

Examples:
rnn_training_f32.cpp.

Constructor & Destructor Documentation

◆ desc() [1/3]

dnnl::lstm_backward::desc::desc ( prop_kind  aprop_kind,
rnn_direction  direction,
const memory::desc src_layer_desc,
const memory::desc src_iter_desc,
const memory::desc src_iter_c_desc,
const memory::desc weights_layer_desc,
const memory::desc weights_iter_desc,
const memory::desc weights_peephole_desc,
const memory::desc weights_projection_desc,
const memory::desc bias_desc,
const memory::desc dst_layer_desc,
const memory::desc dst_iter_desc,
const memory::desc dst_iter_c_desc,
const memory::desc diff_src_layer_desc,
const memory::desc diff_src_iter_desc,
const memory::desc diff_src_iter_c_desc,
const memory::desc diff_weights_layer_desc,
const memory::desc diff_weights_iter_desc,
const memory::desc diff_weights_peephole_desc,
const memory::desc diff_weights_projection_desc,
const memory::desc diff_bias_desc,
const memory::desc diff_dst_layer_desc,
const memory::desc diff_dst_iter_desc,
const memory::desc diff_dst_iter_c_desc,
rnn_flags  flags = rnn_flags::undef 
)
inline

Constructs an LSTM (with or without peephole and with or without projection) descriptor for backward propagation using prop_kind, direction, and memory descriptors.

The following arguments may point to a zero memory descriptor:

  • src_iter_desc together with src_iter_c_desc, diff_src_iter_desc, and diff_src_iter_c_desc,
  • weights_peephole_desc together with diff_weights_peephole_desc
  • bias_desc together with diff_bias_desc,
  • dst_iter_desc together with dst_iter_c_desc, diff_dst_iter_desc, and diff_dst_iter_c_desc.

This would then indicate that the LSTM backward propagation primitive should not use them and should default to zero values instead.

The weights_projection_desc together with diff_weights_projection_desc may point to a zero memory descriptor. This would then indicate that the LSTM doesn't have recurrent projection layer.

Note
All memory descriptors can be initialized with dnnl::memory::format_tag::any value of format_tag.
Parameters
aprop_kindPropagation kind. Must be dnnl::prop_kind::backward.
directionRNN direction. See dnnl::rnn_direction for more info.
src_layer_descMemory descriptor for the input vector.
src_iter_descMemory descriptor for the input recurrent hidden state vector.
src_iter_c_descMemory descriptor for the input recurrent cell state vector.
weights_layer_descMemory descriptor for the weights applied to the layer input.
weights_iter_descMemory descriptor for the weights applied to the recurrent input.
weights_peephole_descMemory descriptor for the weights applied to the cell states (according to the Peephole LSTM formula).
weights_projection_descMemory descriptor for the weights applied to the hidden states to get the recurrent projection (according to the Projection LSTM formula).
bias_descBias memory descriptor.
dst_layer_descMemory descriptor for the output vector.
dst_iter_descMemory descriptor for the output recurrent hidden state vector.
dst_iter_c_descMemory descriptor for the output recurrent cell state vector.
diff_src_layer_descMemory descriptor for the diff of input vector.
diff_src_iter_descMemory descriptor for the diff of input recurrent hidden state vector.
diff_src_iter_c_descMemory descriptor for the diff of input recurrent cell state vector.
diff_weights_layer_descMemory descriptor for the diff of weights applied to the layer input.
diff_weights_iter_descMemory descriptor for the diff of weights applied to the recurrent input.
diff_weights_peephole_descMemory descriptor for the diff of weights applied to the cell states (according to the Peephole LSTM formula).
diff_weights_projection_descMemory descriptor for the diff of weights applied to the hidden states to get the recurrent projection (according to the Projection LSTM formula).
diff_bias_descDiff bias memory descriptor.
diff_dst_layer_descMemory descriptor for the diff of output vector.
diff_dst_iter_descMemory descriptor for the diff of output recurrent hidden state vector.
diff_dst_iter_c_descMemory descriptor for the diff of output recurrent cell state vector.
flagsUnused.

◆ desc() [2/3]

dnnl::lstm_backward::desc::desc ( prop_kind  aprop_kind,
rnn_direction  direction,
const memory::desc src_layer_desc,
const memory::desc src_iter_desc,
const memory::desc src_iter_c_desc,
const memory::desc weights_layer_desc,
const memory::desc weights_iter_desc,
const memory::desc weights_peephole_desc,
const memory::desc bias_desc,
const memory::desc dst_layer_desc,
const memory::desc dst_iter_desc,
const memory::desc dst_iter_c_desc,
const memory::desc diff_src_layer_desc,
const memory::desc diff_src_iter_desc,
const memory::desc diff_src_iter_c_desc,
const memory::desc diff_weights_layer_desc,
const memory::desc diff_weights_iter_desc,
const memory::desc diff_weights_peephole_desc,
const memory::desc diff_bias_desc,
const memory::desc diff_dst_layer_desc,
const memory::desc diff_dst_iter_desc,
const memory::desc diff_dst_iter_c_desc,
rnn_flags  flags = rnn_flags::undef 
)
inline

Constructs an LSTM (with or without peephole) descriptor for backward propagation using prop_kind, direction, and memory descriptors.

The following arguments may point to a zero memory descriptor:

  • src_iter_desc together with src_iter_c_desc, diff_src_iter_desc, and diff_src_iter_c_desc,
  • weights_peephole_desc together with diff_weights_peephole_desc
  • bias_desc together with diff_bias_desc,
  • dst_iter_desc together with dst_iter_c_desc, diff_dst_iter_desc, and diff_dst_iter_c_desc.

This would then indicate that the LSTM backward propagation primitive should not use them and should default to zero values instead.

Note
All memory descriptors may be initialized with dnnl::memory::format_tag::any value of format_tag.
Parameters
aprop_kindPropagation kind. Must be dnnl::prop_kind::backward.
directionRNN direction. See dnnl::rnn_direction for more info.
src_layer_descMemory descriptor for the input vector.
src_iter_descMemory descriptor for the input recurrent hidden state vector.
src_iter_c_descMemory descriptor for the input recurrent cell state vector.
weights_layer_descMemory descriptor for the weights applied to the layer input.
weights_iter_descMemory descriptor for the weights applied to the recurrent input.
weights_peephole_descMemory descriptor for the weights applied to the cell states (according to the Peephole LSTM formula).
bias_descBias memory descriptor.
dst_layer_descMemory descriptor for the output vector.
dst_iter_descMemory descriptor for the output recurrent hidden state vector.
dst_iter_c_descMemory descriptor for the output recurrent cell state vector.
diff_src_layer_descMemory descriptor for the diff of input vector.
diff_src_iter_descMemory descriptor for the diff of input recurrent hidden state vector.
diff_src_iter_c_descMemory descriptor for the diff of input recurrent cell state vector.
diff_weights_layer_descMemory descriptor for the diff of weights applied to the layer input.
diff_weights_iter_descMemory descriptor for the diff of weights applied to the recurrent input.
diff_weights_peephole_descMemory descriptor for the diff of weights applied to the cell states (according to the Peephole LSTM formula).
diff_bias_descDiff bias memory descriptor.
diff_dst_layer_descMemory descriptor for the diff of output vector.
diff_dst_iter_descMemory descriptor for the diff of output recurrent hidden state vector.
diff_dst_iter_c_descMemory descriptor for the diff of output recurrent cell state vector.
flagsUnused.

◆ desc() [3/3]

dnnl::lstm_backward::desc::desc ( prop_kind  aprop_kind,
rnn_direction  direction,
const memory::desc src_layer_desc,
const memory::desc src_iter_desc,
const memory::desc src_iter_c_desc,
const memory::desc weights_layer_desc,
const memory::desc weights_iter_desc,
const memory::desc bias_desc,
const memory::desc dst_layer_desc,
const memory::desc dst_iter_desc,
const memory::desc dst_iter_c_desc,
const memory::desc diff_src_layer_desc,
const memory::desc diff_src_iter_desc,
const memory::desc diff_src_iter_c_desc,
const memory::desc diff_weights_layer_desc,
const memory::desc diff_weights_iter_desc,
const memory::desc diff_bias_desc,
const memory::desc diff_dst_layer_desc,
const memory::desc diff_dst_iter_desc,
const memory::desc diff_dst_iter_c_desc,
rnn_flags  flags = rnn_flags::undef 
)
inline

Constructs an LSTM descriptor for backward propagation using prop_kind, direction, and memory descriptors.

The following arguments may point to a zero memory descriptor:

  • src_iter_desc together with src_iter_c_desc, diff_src_iter_desc, and diff_src_iter_c_desc,
  • bias_desc together with diff_bias_desc,
  • dst_iter_desc together with dst_iter_c_desc, diff_dst_iter_desc, and diff_dst_iter_c_desc.

This would then indicate that the LSTM backward propagation primitive should not use them and should default to zero values instead.

Note
All memory descriptors may be initialized with dnnl::memory::format_tag::any value of format_tag.
Parameters
aprop_kindPropagation kind. Must be dnnl::prop_kind::backward.
directionRNN direction. See dnnl::rnn_direction for more info.
src_layer_descMemory descriptor for the input vector.
src_iter_descMemory descriptor for the input recurrent hidden state vector.
src_iter_c_descMemory descriptor for the input recurrent cell state vector.
weights_layer_descMemory descriptor for the weights applied to the layer input.
weights_iter_descMemory descriptor for the weights applied to the recurrent input.
bias_descBias memory descriptor.
dst_layer_descMemory descriptor for the output vector.
dst_iter_descMemory descriptor for the output recurrent hidden state vector.
dst_iter_c_descMemory descriptor for the output recurrent cell state vector.
diff_src_layer_descMemory descriptor for the diff of input vector.
diff_src_iter_descMemory descriptor for the diff of input recurrent hidden state vector.
diff_src_iter_c_descMemory descriptor for the diff of input recurrent cell state vector.
diff_weights_layer_descMemory descriptor for the diff of weights applied to the layer input.
diff_weights_iter_descMemory descriptor for the diff of weights applied to the recurrent input.
diff_bias_descDiff bias memory descriptor.
diff_dst_layer_descMemory descriptor for the diff of output vector.
diff_dst_iter_descMemory descriptor for the diff of output recurrent hidden state vector.
diff_dst_iter_c_descMemory descriptor for the diff of output recurrent cell state vector.
flagsUnused.

The documentation for this struct was generated from the following file: