A primitive to compute recurrent neural network layers. More...
Classes | |
struct | dnnl::rnn_primitive_desc_base |
Base class for primitive descriptors for RNN primitives. More... | |
struct | dnnl::vanilla_rnn_forward |
Vanilla RNN forward propagation primitive. More... | |
struct | dnnl::vanilla_rnn_backward |
Vanilla RNN backward propagation primitive. More... | |
struct | dnnl::lstm_forward |
LSTM forward propagation primitive. More... | |
struct | dnnl::lstm_backward |
LSTM backward propagation primitive. More... | |
struct | dnnl::gru_forward |
GRU forward propagation primitive. More... | |
struct | dnnl::gru_backward |
GRU backward propagation primitive. More... | |
struct | dnnl::lbr_gru_forward |
LBR GRU forward propagation primitive. More... | |
struct | dnnl::lbr_gru_backward |
LBR GRU backward propagation primitive. More... | |
struct | dnnl_rnn_desc_t |
A descriptor for an RNN operation. More... | |
Enumerations | |
enum | dnnl::rnn_flags : unsigned |
RNN cell flags. More... | |
enum | dnnl::rnn_direction |
A direction of RNN primitive execution. More... | |
enum | dnnl_rnn_flags_t |
Flags for RNN cell. More... | |
enum | dnnl_rnn_direction_t |
A direction of RNN primitive execution. More... | |
Functions | |
dnnl_status_t DNNL_API | dnnl_vanilla_rnn_forward_desc_init (dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, const dnnl_alg_kind_t activation, const dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, unsigned flags, float alpha, float beta) |
Initializes a descriptor for vanilla RNN forward propagation primitive. More... | |
dnnl_status_t DNNL_API | dnnl_vanilla_rnn_backward_desc_init (dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, const dnnl_alg_kind_t activation, const dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *diff_src_layer_desc, const dnnl_memory_desc_t *diff_src_iter_desc, const dnnl_memory_desc_t *diff_weights_layer_desc, const dnnl_memory_desc_t *diff_weights_iter_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_layer_desc, const dnnl_memory_desc_t *diff_dst_iter_desc, unsigned flags, float alpha, float beta) |
Initializes a descriptor for vanilla RNN backward propagation primitive. More... | |
dnnl_status_t DNNL_API | dnnl_lstm_forward_desc_init (dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *src_iter_c_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *dst_iter_c_desc, unsigned flags) |
Initializes a descriptor for LSTM forward propagation primitive. More... | |
dnnl_status_t DNNL_API | dnnl_lstm_forward_desc_init_v2 (dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *src_iter_c_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *weights_peephole_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *dst_iter_c_desc, unsigned flags) |
Initializes a descriptor for an LSTM (with or without peephole) forward propagation primitive. More... | |
dnnl_status_t DNNL_API | dnnl_lstm_backward_desc_init (dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *src_iter_c_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *dst_iter_c_desc, const dnnl_memory_desc_t *diff_src_layer_desc, const dnnl_memory_desc_t *diff_src_iter_desc, const dnnl_memory_desc_t *diff_src_iter_c_desc, const dnnl_memory_desc_t *diff_weights_layer_desc, const dnnl_memory_desc_t *diff_weights_iter_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_layer_desc, const dnnl_memory_desc_t *diff_dst_iter_desc, const dnnl_memory_desc_t *diff_dst_iter_c_desc, unsigned flags) |
Initializes a descriptor for an LSTM backward propagation primitive. More... | |
dnnl_status_t DNNL_API | dnnl_lstm_backward_desc_init_v2 (dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *src_iter_c_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *weights_peephole_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *dst_iter_c_desc, const dnnl_memory_desc_t *diff_src_layer_desc, const dnnl_memory_desc_t *diff_src_iter_desc, const dnnl_memory_desc_t *diff_src_iter_c_desc, const dnnl_memory_desc_t *diff_weights_layer_desc, const dnnl_memory_desc_t *diff_weights_iter_desc, const dnnl_memory_desc_t *diff_weights_peephole_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_layer_desc, const dnnl_memory_desc_t *diff_dst_iter_desc, const dnnl_memory_desc_t *diff_dst_iter_c_desc, unsigned flags) |
Initializes a descriptor for an LSTM (with or without peephole) backward propagation primitive. More... | |
dnnl_status_t DNNL_API | dnnl_gru_forward_desc_init (dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, unsigned flags) |
Initializes a descriptor for GRU forward propagation primitive. More... | |
dnnl_status_t DNNL_API | dnnl_gru_backward_desc_init (dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *diff_src_layer_desc, const dnnl_memory_desc_t *diff_src_iter_desc, const dnnl_memory_desc_t *diff_weights_layer_desc, const dnnl_memory_desc_t *diff_weights_iter_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_layer_desc, const dnnl_memory_desc_t *diff_dst_iter_desc, unsigned flags) |
Initializes a descriptor for GRU backward propagation primitive. More... | |
dnnl_status_t DNNL_API | dnnl_lbr_gru_forward_desc_init (dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, unsigned flags) |
Initializes a descriptor for LBR GRU forward propagation primitive. More... | |
dnnl_status_t DNNL_API | dnnl_lbr_gru_backward_desc_init (dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *diff_src_layer_desc, const dnnl_memory_desc_t *diff_src_iter_desc, const dnnl_memory_desc_t *diff_weights_layer_desc, const dnnl_memory_desc_t *diff_weights_iter_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_layer_desc, const dnnl_memory_desc_t *diff_dst_iter_desc, unsigned flags) |
Initializes a descriptor for LBR GRU backward propagation primitive. More... | |
dnnl_rnn_flags_t | dnnl::convert_to_c (rnn_flags flags) |
Converts RNN cell flags enum value from C++ API to C API type. More... | |
dnnl_rnn_direction_t | dnnl::convert_to_c (rnn_direction dir) |
Converts RNN direction enum value from C++ API to C API type. More... | |
A primitive to compute recurrent neural network layers.
|
strong |
|
strong |
A direction of RNN primitive execution.
enum dnnl_rnn_flags_t |
enum dnnl_rnn_direction_t |
A direction of RNN primitive execution.
Enumerator | |
---|---|
dnnl_unidirectional_left2right | Unidirectional execution of RNN primitive from left to right. |
dnnl_unidirectional_right2left | Unidirectional execution of RNN primitive from right to left. |
dnnl_bidirectional_concat | Bidirectional execution of RNN primitive with concatenation of the results. |
dnnl_bidirectional_sum | Bidirectional execution of RNN primitive with summation of the results. |
dnnl_unidirectional | Alias for dnnl_unidirectional_left2right. |
dnnl_status_t DNNL_API dnnl_vanilla_rnn_forward_desc_init | ( | dnnl_rnn_desc_t * | rnn_desc, |
dnnl_prop_kind_t | prop_kind, | ||
const dnnl_alg_kind_t | activation, | ||
const dnnl_rnn_direction_t | direction, | ||
const dnnl_memory_desc_t * | src_layer_desc, | ||
const dnnl_memory_desc_t * | src_iter_desc, | ||
const dnnl_memory_desc_t * | weights_layer_desc, | ||
const dnnl_memory_desc_t * | weights_iter_desc, | ||
const dnnl_memory_desc_t * | bias_desc, | ||
const dnnl_memory_desc_t * | dst_layer_desc, | ||
const dnnl_memory_desc_t * | dst_iter_desc, | ||
unsigned | flags, | ||
float | alpha, | ||
float | beta | ||
) |
Initializes a descriptor for vanilla RNN forward propagation primitive.
The src_iter_desc
, bias_desc
, and dst_iter_desc
may either be NULL
or point to a zero memory descriptor. This would then indicate that the RNN forward propagation primitive should not use them and should default to zero values instead.
Inputs:
Outputs:
prop_kind
equals dnnl_forward_training; must be queried for using dnnl_primitive_desc_query_md() after a corresponding primitive descriptor is createdrnn_desc | Output descriptor for vanilla RNN primitive. |
prop_kind | Propagation kind. Possible values are dnnl_forward_training and dnnl_forward_inference. |
activation | Activation kind. Possible values are dnnl_eltwise_relu, dnnl_eltwise_tanh or dnnl_eltwise_logistic. |
direction | RNN direction. See dnnl_rnn_direction_t for more info. |
src_layer_desc | Memory descriptor for the input vector. |
src_iter_desc | Memory descriptor for the input recurrent hidden 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. |
flags | Unused. |
alpha | Negative slope if activation is dnnl_eltwise_relu. |
beta | Unused. |
dnnl_status_t DNNL_API dnnl_vanilla_rnn_backward_desc_init | ( | dnnl_rnn_desc_t * | rnn_desc, |
dnnl_prop_kind_t | prop_kind, | ||
const dnnl_alg_kind_t | activation, | ||
const dnnl_rnn_direction_t | direction, | ||
const dnnl_memory_desc_t * | src_layer_desc, | ||
const dnnl_memory_desc_t * | src_iter_desc, | ||
const dnnl_memory_desc_t * | weights_layer_desc, | ||
const dnnl_memory_desc_t * | weights_iter_desc, | ||
const dnnl_memory_desc_t * | bias_desc, | ||
const dnnl_memory_desc_t * | dst_layer_desc, | ||
const dnnl_memory_desc_t * | dst_iter_desc, | ||
const dnnl_memory_desc_t * | diff_src_layer_desc, | ||
const dnnl_memory_desc_t * | diff_src_iter_desc, | ||
const dnnl_memory_desc_t * | diff_weights_layer_desc, | ||
const dnnl_memory_desc_t * | diff_weights_iter_desc, | ||
const dnnl_memory_desc_t * | diff_bias_desc, | ||
const dnnl_memory_desc_t * | diff_dst_layer_desc, | ||
const dnnl_memory_desc_t * | diff_dst_iter_desc, | ||
unsigned | flags, | ||
float | alpha, | ||
float | beta | ||
) |
Initializes a descriptor for vanilla RNN backward propagation primitive.
The src_iter_desc
together with diff_src_iter_desc
, bias_desc
together with diff_bias_desc
, and dst_iter_desc
together with diff_src_iter_desc
, may either be NULL
or point to a zero memory descriptor. This would then indicate that the RNN backward propagation primitive should not use the respective data and should use zero values instead.
Inputs:
Outputs:
rnn_desc | Output descriptor for vanilla RNN primitive. |
prop_kind | Propagation kind. Must be dnnl_backward. |
activation | Activation kind. Possible values are dnnl_eltwise_relu, dnnl_eltwise_tanh or dnnl_eltwise_logistic. |
direction | RNN direction. See dnnl_rnn_direction_t for more info. |
src_layer_desc | Memory descriptor for the input vector. |
src_iter_desc | Memory descriptor for the input recurrent hidden 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. |
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_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. |
flags | Unused. |
alpha | Negative slope if activation is dnnl_eltwise_relu. |
beta | Unused. |
dnnl_status_t DNNL_API dnnl_lstm_forward_desc_init | ( | dnnl_rnn_desc_t * | rnn_desc, |
dnnl_prop_kind_t | prop_kind, | ||
dnnl_rnn_direction_t | direction, | ||
const dnnl_memory_desc_t * | src_layer_desc, | ||
const dnnl_memory_desc_t * | src_iter_desc, | ||
const dnnl_memory_desc_t * | src_iter_c_desc, | ||
const dnnl_memory_desc_t * | weights_layer_desc, | ||
const dnnl_memory_desc_t * | weights_iter_desc, | ||
const dnnl_memory_desc_t * | bias_desc, | ||
const dnnl_memory_desc_t * | dst_layer_desc, | ||
const dnnl_memory_desc_t * | dst_iter_desc, | ||
const dnnl_memory_desc_t * | dst_iter_c_desc, | ||
unsigned | flags | ||
) |
Initializes a descriptor for LSTM forward propagation primitive.
The src_iter_desc
, src_iter_c_desc
, bias_desc
, dst_iter_desc
, and dst_iter_c_desc
may either be NULL
or point to a zero memory descriptor. This would then indicate that the LSTM forward propagation primitive should not use them and should default to zero values instead.
Inputs:
Outputs:
prop_kind
equals dnnl_forward_training; must be queried for using dnnl_primitive_desc_query_md() after a corresponding primitive descriptor is createdrnn_desc | Output descriptor for LSTM primitive. |
prop_kind | Propagation kind. Possible values are dnnl_forward_training and dnnl_forward_inference. |
direction | RNN direction. See dnnl_rnn_direction_t 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. |
flags | Unused. |
dnnl_status_t DNNL_API dnnl_lstm_forward_desc_init_v2 | ( | dnnl_rnn_desc_t * | rnn_desc, |
dnnl_prop_kind_t | prop_kind, | ||
dnnl_rnn_direction_t | direction, | ||
const dnnl_memory_desc_t * | src_layer_desc, | ||
const dnnl_memory_desc_t * | src_iter_desc, | ||
const dnnl_memory_desc_t * | src_iter_c_desc, | ||
const dnnl_memory_desc_t * | weights_layer_desc, | ||
const dnnl_memory_desc_t * | weights_iter_desc, | ||
const dnnl_memory_desc_t * | weights_peephole_desc, | ||
const dnnl_memory_desc_t * | bias_desc, | ||
const dnnl_memory_desc_t * | dst_layer_desc, | ||
const dnnl_memory_desc_t * | dst_iter_desc, | ||
const dnnl_memory_desc_t * | dst_iter_c_desc, | ||
unsigned | flags | ||
) |
Initializes a descriptor for an LSTM (with or without peephole) forward propagation primitive.
The src_iter_desc
, src_iter_c_desc
, weights_peephole_desc
, bias_desc
, dst_iter_desc
, and dst_iter_c_desc
may either be NULL
or point to a zero memory descriptor. This would then indicate that the LSTM forward propagation primitive should not use them and should default to zero values instead.
Inputs:
Outputs:
prop_kind
equals dnnl_forward_training; must be queried for using dnnl_primitive_desc_query_md() after a corresponding primitive descriptor is createdrnn_desc | Output descriptor for LSTM primitive. |
prop_kind | Propagation kind. Possible values are dnnl_forward_training and dnnl_forward_inference. |
direction | RNN direction. See dnnl_rnn_direction_t 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. |
flags | Unused. |
dnnl_status_t DNNL_API dnnl_lstm_backward_desc_init | ( | dnnl_rnn_desc_t * | rnn_desc, |
dnnl_prop_kind_t | prop_kind, | ||
dnnl_rnn_direction_t | direction, | ||
const dnnl_memory_desc_t * | src_layer_desc, | ||
const dnnl_memory_desc_t * | src_iter_desc, | ||
const dnnl_memory_desc_t * | src_iter_c_desc, | ||
const dnnl_memory_desc_t * | weights_layer_desc, | ||
const dnnl_memory_desc_t * | weights_iter_desc, | ||
const dnnl_memory_desc_t * | bias_desc, | ||
const dnnl_memory_desc_t * | dst_layer_desc, | ||
const dnnl_memory_desc_t * | dst_iter_desc, | ||
const dnnl_memory_desc_t * | dst_iter_c_desc, | ||
const dnnl_memory_desc_t * | diff_src_layer_desc, | ||
const dnnl_memory_desc_t * | diff_src_iter_desc, | ||
const dnnl_memory_desc_t * | diff_src_iter_c_desc, | ||
const dnnl_memory_desc_t * | diff_weights_layer_desc, | ||
const dnnl_memory_desc_t * | diff_weights_iter_desc, | ||
const dnnl_memory_desc_t * | diff_bias_desc, | ||
const dnnl_memory_desc_t * | diff_dst_layer_desc, | ||
const dnnl_memory_desc_t * | diff_dst_iter_desc, | ||
const dnnl_memory_desc_t * | diff_dst_iter_c_desc, | ||
unsigned | flags | ||
) |
Initializes a descriptor for an LSTM backward propagation primitive.
The src_iter_desc
together with diff_iter_desc
, src_iter_c_desc
together with src_iter_c_desc
, bias_desc
together with diff_bias_desc
, dst_iter_desc
together with diff_dst_iter_desc
, and dst_iter_c_desc
together with diff_dst_iter_c_desc
, may either be NULL
or point to a zero memory descriptor. This would then indicate that the LSTM backward propagation primitive should not use them and should default to zero values instead.
Inputs:
Outputs:
rnn_desc | Output descriptor for LSTM primitive. |
prop_kind | Propagation kind. Must be dnnl_backward. |
direction | RNN direction. See dnnl_rnn_direction_t 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. |
dnnl_status_t DNNL_API dnnl_lstm_backward_desc_init_v2 | ( | dnnl_rnn_desc_t * | rnn_desc, |
dnnl_prop_kind_t | prop_kind, | ||
dnnl_rnn_direction_t | direction, | ||
const dnnl_memory_desc_t * | src_layer_desc, | ||
const dnnl_memory_desc_t * | src_iter_desc, | ||
const dnnl_memory_desc_t * | src_iter_c_desc, | ||
const dnnl_memory_desc_t * | weights_layer_desc, | ||
const dnnl_memory_desc_t * | weights_iter_desc, | ||
const dnnl_memory_desc_t * | weights_peephole_desc, | ||
const dnnl_memory_desc_t * | bias_desc, | ||
const dnnl_memory_desc_t * | dst_layer_desc, | ||
const dnnl_memory_desc_t * | dst_iter_desc, | ||
const dnnl_memory_desc_t * | dst_iter_c_desc, | ||
const dnnl_memory_desc_t * | diff_src_layer_desc, | ||
const dnnl_memory_desc_t * | diff_src_iter_desc, | ||
const dnnl_memory_desc_t * | diff_src_iter_c_desc, | ||
const dnnl_memory_desc_t * | diff_weights_layer_desc, | ||
const dnnl_memory_desc_t * | diff_weights_iter_desc, | ||
const dnnl_memory_desc_t * | diff_weights_peephole_desc, | ||
const dnnl_memory_desc_t * | diff_bias_desc, | ||
const dnnl_memory_desc_t * | diff_dst_layer_desc, | ||
const dnnl_memory_desc_t * | diff_dst_iter_desc, | ||
const dnnl_memory_desc_t * | diff_dst_iter_c_desc, | ||
unsigned | flags | ||
) |
Initializes a descriptor for an LSTM (with or without peephole) backward propagation primitive.
The src_iter_desc
together with diff_iter_desc
, src_iter_c_desc
together with 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 diff_dst_iter_desc
, and dst_iter_c_desc
together with diff_dst_iter_c_desc
, may either be NULL
or point to a zero memory descriptor. This would then indicate that the LSTM backward propagation primitive should not use them and should default to zero values instead.
Inputs:
Outputs:
rnn_desc | Output descriptor for LSTM primitive. |
prop_kind | Propagation kind. Must be dnnl_backward. |
direction | RNN direction. See dnnl_rnn_direction_t 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. |
dnnl_status_t DNNL_API dnnl_gru_forward_desc_init | ( | dnnl_rnn_desc_t * | rnn_desc, |
dnnl_prop_kind_t | prop_kind, | ||
dnnl_rnn_direction_t | direction, | ||
const dnnl_memory_desc_t * | src_layer_desc, | ||
const dnnl_memory_desc_t * | src_iter_desc, | ||
const dnnl_memory_desc_t * | weights_layer_desc, | ||
const dnnl_memory_desc_t * | weights_iter_desc, | ||
const dnnl_memory_desc_t * | bias_desc, | ||
const dnnl_memory_desc_t * | dst_layer_desc, | ||
const dnnl_memory_desc_t * | dst_iter_desc, | ||
unsigned | flags | ||
) |
Initializes a descriptor for GRU forward propagation primitive.
The src_iter_desc
, bias_desc
, and dst_iter
, may either be NULL
or point to a zero memory descriptor. This would then indicate that the GRU forward propagation primitive should not use them and should default to zero values instead.
Inputs:
Outputs:
prop_kind
equals dnnl_forward_training; must be queried for using dnnl_primitive_desc_query_md() after a corresponding primitive descriptor is createdrnn_desc | Output descriptor for GRU primitive. |
prop_kind | Propagation kind. Possible values are dnnl_forward_training and dnnl_forward_inference. |
direction | RNN direction. See dnnl_rnn_direction_t for more info. |
src_layer_desc | Memory descriptor for the input vector. |
src_iter_desc | Memory descriptor for the input recurrent hidden 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. |
flags | Unused. |
dnnl_status_t DNNL_API dnnl_gru_backward_desc_init | ( | dnnl_rnn_desc_t * | rnn_desc, |
dnnl_prop_kind_t | prop_kind, | ||
dnnl_rnn_direction_t | direction, | ||
const dnnl_memory_desc_t * | src_layer_desc, | ||
const dnnl_memory_desc_t * | src_iter_desc, | ||
const dnnl_memory_desc_t * | weights_layer_desc, | ||
const dnnl_memory_desc_t * | weights_iter_desc, | ||
const dnnl_memory_desc_t * | bias_desc, | ||
const dnnl_memory_desc_t * | dst_layer_desc, | ||
const dnnl_memory_desc_t * | dst_iter_desc, | ||
const dnnl_memory_desc_t * | diff_src_layer_desc, | ||
const dnnl_memory_desc_t * | diff_src_iter_desc, | ||
const dnnl_memory_desc_t * | diff_weights_layer_desc, | ||
const dnnl_memory_desc_t * | diff_weights_iter_desc, | ||
const dnnl_memory_desc_t * | diff_bias_desc, | ||
const dnnl_memory_desc_t * | diff_dst_layer_desc, | ||
const dnnl_memory_desc_t * | diff_dst_iter_desc, | ||
unsigned | flags | ||
) |
Initializes a descriptor for GRU backward propagation primitive.
The src_iter_desc
together with diff_src_iter_desc
, bias_desc
together with diff_bias_desc
, and dst_iter
together with diff_dst_iter
, may either be NULL
or point to a zero memory descriptor. This would then indicate that the GRU backward propagation primitive should not use them and should default to zero values instead.
Inputs:
Outputs:
rnn_desc | Output descriptor for GRU primitive. |
prop_kind | Propagation kind. Must be dnnl_backward. |
direction | RNN direction. See dnnl_rnn_direction_t for more info. |
src_layer_desc | Memory descriptor for the input vector. |
src_iter_desc | Memory descriptor for the input recurrent hidden 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. |
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_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. |
flags | Unused. |
dnnl_status_t DNNL_API dnnl_lbr_gru_forward_desc_init | ( | dnnl_rnn_desc_t * | rnn_desc, |
dnnl_prop_kind_t | prop_kind, | ||
dnnl_rnn_direction_t | direction, | ||
const dnnl_memory_desc_t * | src_layer_desc, | ||
const dnnl_memory_desc_t * | src_iter_desc, | ||
const dnnl_memory_desc_t * | weights_layer_desc, | ||
const dnnl_memory_desc_t * | weights_iter_desc, | ||
const dnnl_memory_desc_t * | bias_desc, | ||
const dnnl_memory_desc_t * | dst_layer_desc, | ||
const dnnl_memory_desc_t * | dst_iter_desc, | ||
unsigned | flags | ||
) |
Initializes a descriptor for LBR GRU forward propagation primitive.
The src_iter_desc
, bias_desc
, and dst_iter
, may either be NULL
or point to a zero memory descriptor. This would then indicate that the LBR GRU forward propagation primitive should not use them and should default to zero values instead.
Inputs:
Outputs:
prop_kind
equals dnnl_forward_training; must be queried for using dnnl_primitive_desc_query_md() after a corresponding primitive descriptor is createdrnn_desc | Output descriptor for LBR GRU primitive. |
prop_kind | Propagation kind. Possible values are dnnl_forward_training and dnnl_forward_inference. |
direction | RNN direction. See dnnl_rnn_direction_t for more info. |
src_layer_desc | Memory descriptor for the input vector. |
src_iter_desc | Memory descriptor for the input recurrent hidden 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. |
flags | Unused. |
dnnl_status_t DNNL_API dnnl_lbr_gru_backward_desc_init | ( | dnnl_rnn_desc_t * | rnn_desc, |
dnnl_prop_kind_t | prop_kind, | ||
dnnl_rnn_direction_t | direction, | ||
const dnnl_memory_desc_t * | src_layer_desc, | ||
const dnnl_memory_desc_t * | src_iter_desc, | ||
const dnnl_memory_desc_t * | weights_layer_desc, | ||
const dnnl_memory_desc_t * | weights_iter_desc, | ||
const dnnl_memory_desc_t * | bias_desc, | ||
const dnnl_memory_desc_t * | dst_layer_desc, | ||
const dnnl_memory_desc_t * | dst_iter_desc, | ||
const dnnl_memory_desc_t * | diff_src_layer_desc, | ||
const dnnl_memory_desc_t * | diff_src_iter_desc, | ||
const dnnl_memory_desc_t * | diff_weights_layer_desc, | ||
const dnnl_memory_desc_t * | diff_weights_iter_desc, | ||
const dnnl_memory_desc_t * | diff_bias_desc, | ||
const dnnl_memory_desc_t * | diff_dst_layer_desc, | ||
const dnnl_memory_desc_t * | diff_dst_iter_desc, | ||
unsigned | flags | ||
) |
Initializes a descriptor for LBR GRU backward propagation primitive.
The src_iter_desc
together with diff_src_iter_desc
, bias_desc
together with diff_bias_desc
, and dst_iter
together with diff_dst_iter
, may either be NULL
or point to a zero memory descriptor. This would then indicate that the LBR GRU backward propagation primitive should not use them and should default to zero values instead.
Inputs:
Outputs:
rnn_desc | Output descriptor for LBR GRU primitive. |
prop_kind | Propagation kind. Must be dnnl_backward. |
direction | RNN direction. See dnnl_rnn_direction_t for more info. |
src_layer_desc | Memory descriptor for the input vector. |
src_iter_desc | Memory descriptor for the input recurrent hidden 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. |
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_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. |
flags | Unused. |
|
inline |
Converts RNN cell flags enum value from C++ API to C API type.
flags | C++ API RNN cell flags enum value. |
|
inline |
Converts RNN direction enum value from C++ API to C API type.
dir | C++ API RNN direction enum value. |