.. index:: pair: struct; dnnl_rnn_desc_t .. _doxid-structdnnl__rnn__desc__t: struct dnnl_rnn_desc_t ====================== .. toctree:: :hidden: Overview ~~~~~~~~ A descriptor for an RNN operation. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include struct dnnl_rnn_desc_t { // fields :ref:`dnnl_primitive_kind_t` :ref:`primitive_kind`; :ref:`dnnl_prop_kind_t` :ref:`prop_kind`; :ref:`dnnl_alg_kind_t` :ref:`cell_kind`; :ref:`dnnl_rnn_direction_t` :ref:`direction`; :ref:`dnnl_memory_desc_t` :ref:`src_layer_desc`; :ref:`dnnl_memory_desc_t` :ref:`src_iter_desc`; :ref:`dnnl_memory_desc_t` :ref:`src_iter_c_desc`; :ref:`dnnl_memory_desc_t` :ref:`weights_layer_desc`; :ref:`dnnl_memory_desc_t` :ref:`weights_iter_desc`; :ref:`dnnl_memory_desc_t` :ref:`bias_desc`; :ref:`dnnl_memory_desc_t` :ref:`dst_layer_desc`; :ref:`dnnl_memory_desc_t` :ref:`dst_iter_desc`; :ref:`dnnl_memory_desc_t` :ref:`dst_iter_c_desc`; :ref:`dnnl_memory_desc_t` :ref:`weights_peephole_desc`; :ref:`dnnl_memory_desc_t` :ref:`weights_projection_desc`; :ref:`dnnl_memory_desc_t` :ref:`diff_src_layer_desc`; :ref:`dnnl_memory_desc_t` :ref:`diff_src_iter_desc`; :ref:`dnnl_memory_desc_t` :ref:`diff_src_iter_c_desc`; :ref:`dnnl_memory_desc_t` :ref:`diff_weights_layer_desc`; :ref:`dnnl_memory_desc_t` :ref:`diff_weights_iter_desc`; :ref:`dnnl_memory_desc_t` :ref:`diff_bias_desc`; :ref:`dnnl_memory_desc_t` :ref:`diff_dst_layer_desc`; :ref:`dnnl_memory_desc_t` :ref:`diff_dst_iter_desc`; :ref:`dnnl_memory_desc_t` :ref:`diff_dst_iter_c_desc`; :ref:`dnnl_memory_desc_t` :ref:`diff_weights_peephole_desc`; :ref:`dnnl_memory_desc_t` :ref:`diff_weights_projection_desc`; unsigned int :ref:`flags`; :ref:`dnnl_alg_kind_t` :ref:`activation_kind`; float :target:`alpha`; float :target:`beta`; }; .. _details-structdnnl__rnn__desc__t: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ A descriptor for an RNN operation. Fields ------ .. index:: pair: variable; primitive_kind .. _doxid-structdnnl__rnn__desc__t_1a4541587e9f28c8cf4f463e4d59806e3e: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_primitive_kind_t` primitive_kind The kind of primitive. Used for self-identifying the primitive descriptor. Must be :ref:`dnnl_rnn `. .. index:: pair: variable; prop_kind .. _doxid-structdnnl__rnn__desc__t_1a8b7898089ad817a0efd47aca420b6dbb: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_prop_kind_t` prop_kind The kind of propagation. Possible values: :ref:`dnnl_forward_training `, :ref:`dnnl_forward_inference `, and :ref:`dnnl_backward `. .. index:: pair: variable; cell_kind .. _doxid-structdnnl__rnn__desc__t_1a2cadbfb9b13da099140fd55635a51419: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_alg_kind_t` cell_kind RNN cell kind. Must be one of :ref:`dnnl_vanilla_rnn `, :ref:`dnnl_vanilla_lstm `, :ref:`dnnl_vanilla_gru `, or :ref:`dnnl_lbr_gru `. .. index:: pair: variable; direction .. _doxid-structdnnl__rnn__desc__t_1a05d5f4a7c0acb6a544e92017bc44ba2b: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_rnn_direction_t` direction The direction of RNN primitive execution. .. index:: pair: variable; src_layer_desc .. _doxid-structdnnl__rnn__desc__t_1aaea1364f2c21f03fe881c0d91dc5a169: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` src_layer_desc Source layer memory descriptor. .. index:: pair: variable; src_iter_desc .. _doxid-structdnnl__rnn__desc__t_1af74516f123704c1a9aec5d39dba9650a: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` src_iter_desc Source iteration memory descriptor for hidden state. .. index:: pair: variable; src_iter_c_desc .. _doxid-structdnnl__rnn__desc__t_1a9a842279b35376bd855cb5381e26900c: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` src_iter_c_desc Source iteration memory descriptor for cell state. .. index:: pair: variable; weights_layer_desc .. _doxid-structdnnl__rnn__desc__t_1a1856a3555d8abf5be371b161b559b438: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` weights_layer_desc Weights layer memory descriptor. .. index:: pair: variable; weights_iter_desc .. _doxid-structdnnl__rnn__desc__t_1afb36d75add9d2606cc81d5bd18288d8e: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` weights_iter_desc Weights iteration memory descriptor. .. index:: pair: variable; bias_desc .. _doxid-structdnnl__rnn__desc__t_1aab26def80bd3afaa3ebe5b0968aa38de: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` bias_desc Bias memory descriptor. .. index:: pair: variable; dst_layer_desc .. _doxid-structdnnl__rnn__desc__t_1ab7ade312afc618dad1da2c0d7284588a: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` dst_layer_desc Destination layer memory descriptor. .. index:: pair: variable; dst_iter_desc .. _doxid-structdnnl__rnn__desc__t_1ace867837ea9f25b4fce034a9ac5c3dad: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` dst_iter_desc Destination iter memory descriptor for hidden state. .. index:: pair: variable; dst_iter_c_desc .. _doxid-structdnnl__rnn__desc__t_1a1aaeffcd4fbcb2a912281cc75a7bad1d: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` dst_iter_c_desc Destination iter memory descriptor for cell state. .. index:: pair: variable; weights_peephole_desc .. _doxid-structdnnl__rnn__desc__t_1aca86677fb7aadfca20fac609bdadeb60: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` weights_peephole_desc Weights peephole memory descriptor. This memory descriptor is equal to zero memory descriptor in case of non-peephole LSTMs and other non-LSTM RNNs. .. index:: pair: variable; weights_projection_desc .. _doxid-structdnnl__rnn__desc__t_1a5cd42ad59082a5d7e290e76db066e738: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` weights_projection_desc Weights projection memory descriptor. This memory descriptor is equal to zero memory descriptor in case of non-projection LSTMs and other non-LSTM RNNs. .. index:: pair: variable; diff_src_layer_desc .. _doxid-structdnnl__rnn__desc__t_1a529238b7d0088a147dd84df80f54496e: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` diff_src_layer_desc Source gradient layer memory descriptor. .. index:: pair: variable; diff_src_iter_desc .. _doxid-structdnnl__rnn__desc__t_1a1782c72801a69671fa93393d0909e59d: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` diff_src_iter_desc Source gradient iter memory descriptor for hidden state. .. index:: pair: variable; diff_src_iter_c_desc .. _doxid-structdnnl__rnn__desc__t_1a5538f8cace2b41f89d985454713c8c72: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` diff_src_iter_c_desc Source gradient iter memory descriptor for cell state. .. index:: pair: variable; diff_weights_layer_desc .. _doxid-structdnnl__rnn__desc__t_1a8030f10b83affa1bb99e6c18ec77632d: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` diff_weights_layer_desc Weights gradient layer memory descriptor. .. index:: pair: variable; diff_weights_iter_desc .. _doxid-structdnnl__rnn__desc__t_1a284239fadd76cec600abf418e4cc19a9: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` diff_weights_iter_desc Weights gradient iter memory descriptor. .. index:: pair: variable; diff_bias_desc .. _doxid-structdnnl__rnn__desc__t_1ac69690614c53e3a6818195349166c5fa: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` diff_bias_desc Bias gradient memory descriptor. .. index:: pair: variable; diff_dst_layer_desc .. _doxid-structdnnl__rnn__desc__t_1a4f22acfd6dee07584cc62e3ed6b8e7be: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` diff_dst_layer_desc Destination gradient layer memory descriptor. .. index:: pair: variable; diff_dst_iter_desc .. _doxid-structdnnl__rnn__desc__t_1afc36e9660a6d883ecaed0940a9c7fb99: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` diff_dst_iter_desc Destination gradient iteration memory descriptor for hidden state. .. index:: pair: variable; diff_dst_iter_c_desc .. _doxid-structdnnl__rnn__desc__t_1a25af5a28b6f2d91951dadeefdb9b5b37: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` diff_dst_iter_c_desc Destination gradient iteration memory descriptor for cell state. .. index:: pair: variable; diff_weights_peephole_desc .. _doxid-structdnnl__rnn__desc__t_1a6f029378877c8b0dbdd76802b94b0ad0: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` diff_weights_peephole_desc Weights gradient peephole memory descriptor. This memory descriptor is equal to zero memory descriptor in case of non-peephole LSTMs and other non-LSTM RNNs. .. index:: pair: variable; diff_weights_projection_desc .. _doxid-structdnnl__rnn__desc__t_1aef81a788e59692effd741bc4ce3e229e: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_memory_desc_t` diff_weights_projection_desc Weights gradient projection memory descriptor. This memory descriptor is equal to zero memory descriptor in case of non-projection LSTMs and other non-LSTM RNNs. .. index:: pair: variable; flags .. _doxid-structdnnl__rnn__desc__t_1aaafd96a309b11d4d88a8f83530ae57b8: .. ref-code-block:: cpp :class: doxyrest-title-code-block unsigned int flags RNN cell flags. .. index:: pair: variable; activation_kind .. _doxid-structdnnl__rnn__desc__t_1ac25cfdc16c19ba5d2b3c1eba086e8a75: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`dnnl_alg_kind_t` activation_kind Activation function used for vanilla_rnn cell kind. Must be either :ref:`dnnl_eltwise_relu ` or :ref:`dnnl_eltwise_tanh `.