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 withsrc_iter_c_desc
,diff_src_iter_desc
, anddiff_src_iter_c_desc
,weights_peephole_desc
together withdiff_weights_peephole_desc
bias_desc
together withdiff_bias_desc
,dst_iter_desc
together withdst_iter_c_desc
,diff_dst_iter_desc
, anddiff_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_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 withsrc_iter_c_desc
,diff_src_iter_desc
, anddiff_src_iter_c_desc
,weights_peephole_desc
together withdiff_weights_peephole_desc
bias_desc
together withdiff_bias_desc
,dst_iter_desc
together withdst_iter_c_desc
,diff_dst_iter_desc
, anddiff_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_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 withsrc_iter_c_desc
,diff_src_iter_desc
, anddiff_src_iter_c_desc
,bias_desc
together withdiff_bias_desc
,dst_iter_desc
together withdst_iter_c_desc
,diff_dst_iter_desc
, anddiff_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_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. |