Developer Guide and Reference

  • 2022.1
  • 04/11/2022
  • Public Content
Contents

struct dnnl::lstm_backward::desc

Overview

Descriptor for an LSTM backward propagation primitive. More…
#include <dnnl.hpp> struct desc { // fields dnnl_rnn_desc_t data; // construction 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 ); 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 ); 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 ); };

Detailed Documentation

Descriptor for an LSTM backward propagation primitive.
Construction
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.
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.
All memory descriptors can be initialized with dnnl::memory::format_tag::any value of
format_tag
.
Parameters:
aprop_kind
Propagation kind. Must be dnnl::prop_kind::backward.
direction
RNN direction. See dnnl::rnn_direction for more info.
src_layer_desc
Memory descriptor for the input vector.
src_iter_desc
Memory descriptor for the input recurrent hidden state vector.
src_iter_c_desc
Memory descriptor for the input recurrent cell state vector.
weights_layer_desc
Memory descriptor for the weights applied to the layer input.
weights_iter_desc
Memory descriptor for the weights applied to the recurrent input.
weights_peephole_desc
Memory descriptor for the weights applied to the cell states (according to the Peephole LSTM formula).
weights_projection_desc
Memory descriptor for the weights applied to the hidden states to get the recurrent projection (according to the Projection LSTM formula).
bias_desc
Bias memory descriptor.
dst_layer_desc
Memory descriptor for the output vector.
dst_iter_desc
Memory descriptor for the output recurrent hidden state vector.
dst_iter_c_desc
Memory descriptor for the output recurrent cell state vector.
diff_src_layer_desc
Memory descriptor for the diff of input vector.
diff_src_iter_desc
Memory descriptor for the diff of input recurrent hidden state vector.
diff_src_iter_c_desc
Memory descriptor for the diff of input recurrent cell state vector.
diff_weights_layer_desc
Memory descriptor for the diff of weights applied to the layer input.
diff_weights_iter_desc
Memory descriptor for the diff of weights applied to the recurrent input.
diff_weights_peephole_desc
Memory descriptor for the diff of weights applied to the cell states (according to the Peephole LSTM formula).
diff_weights_projection_desc
Memory descriptor for the diff of weights applied to the hidden states to get the recurrent projection (according to the Projection LSTM formula).
diff_bias_desc
Diff bias memory descriptor.
diff_dst_layer_desc
Memory descriptor for the diff of output vector.
diff_dst_iter_desc
Memory descriptor for the diff of output recurrent hidden state vector.
diff_dst_iter_c_desc
Memory descriptor for the diff of output recurrent cell state vector.
flags
Unused.
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.
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.
All memory descriptors may be initialized with dnnl::memory::format_tag::any value of
format_tag
.
Parameters:
aprop_kind
Propagation kind. Must be dnnl::prop_kind::backward.
direction
RNN direction. See dnnl::rnn_direction for more info.
src_layer_desc
Memory descriptor for the input vector.
src_iter_desc
Memory descriptor for the input recurrent hidden state vector.
src_iter_c_desc
Memory descriptor for the input recurrent cell state vector.
weights_layer_desc
Memory descriptor for the weights applied to the layer input.
weights_iter_desc
Memory descriptor for the weights applied to the recurrent input.
weights_peephole_desc
Memory descriptor for the weights applied to the cell states (according to the Peephole LSTM formula).
bias_desc
Bias memory descriptor.
dst_layer_desc
Memory descriptor for the output vector.
dst_iter_desc
Memory descriptor for the output recurrent hidden state vector.
dst_iter_c_desc
Memory descriptor for the output recurrent cell state vector.
diff_src_layer_desc
Memory descriptor for the diff of input vector.
diff_src_iter_desc
Memory descriptor for the diff of input recurrent hidden state vector.
diff_src_iter_c_desc
Memory descriptor for the diff of input recurrent cell state vector.
diff_weights_layer_desc
Memory descriptor for the diff of weights applied to the layer input.
diff_weights_iter_desc
Memory descriptor for the diff of weights applied to the recurrent input.
diff_weights_peephole_desc
Memory descriptor for the diff of weights applied to the cell states (according to the Peephole LSTM formula).
diff_bias_desc
Diff bias memory descriptor.
diff_dst_layer_desc
Memory descriptor for the diff of output vector.
diff_dst_iter_desc
Memory descriptor for the diff of output recurrent hidden state vector.
diff_dst_iter_c_desc
Memory descriptor for the diff of output recurrent cell state vector.
flags
Unused.
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.
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.
All memory descriptors may be initialized with dnnl::memory::format_tag::any value of
format_tag
.
Parameters:
aprop_kind
Propagation kind. Must be dnnl::prop_kind::backward.
direction
RNN direction. See dnnl::rnn_direction for more info.
src_layer_desc
Memory descriptor for the input vector.
src_iter_desc
Memory descriptor for the input recurrent hidden state vector.
src_iter_c_desc
Memory descriptor for the input recurrent cell state vector.
weights_layer_desc
Memory descriptor for the weights applied to the layer input.
weights_iter_desc
Memory descriptor for the weights applied to the recurrent input.
bias_desc
Bias memory descriptor.
dst_layer_desc
Memory descriptor for the output vector.
dst_iter_desc
Memory descriptor for the output recurrent hidden state vector.
dst_iter_c_desc
Memory descriptor for the output recurrent cell state vector.
diff_src_layer_desc
Memory descriptor for the diff of input vector.
diff_src_iter_desc
Memory descriptor for the diff of input recurrent hidden state vector.
diff_src_iter_c_desc
Memory descriptor for the diff of input recurrent cell state vector.
diff_weights_layer_desc
Memory descriptor for the diff of weights applied to the layer input.
diff_weights_iter_desc
Memory descriptor for the diff of weights applied to the recurrent input.
diff_bias_desc
Diff bias memory descriptor.
diff_dst_layer_desc
Memory descriptor for the diff of output vector.
diff_dst_iter_desc
Memory descriptor for the diff of output recurrent hidden state vector.
diff_dst_iter_c_desc
Memory descriptor for the diff of output recurrent cell state vector.
flags
Unused.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.