LostTech.TensorFlow : API Documentation

Type CudnnCompatibleGRUCell

Namespace tensorflow.contrib.cudnn_rnn

Parent GRUCell

Interfaces ICudnnCompatibleGRUCell

Cudnn Compatible GRUCell.

A GRU impl akin to `tf.compat.v1.nn.rnn_cell.GRUCell` to use along with tf.contrib.cudnn_rnn.CudnnGRU. The latter's params can be used by it seamlessly.

It differs from platform-independent GRUs in how the new memory gate is calculated. Nvidia picks this variant based on GRU author's[1] suggestion and the fact it has no accuracy impact[2]. [1] https://arxiv.org/abs/1406.1078 [2] http://svail.github.io/diff_graphs/

Cudnn compatible GRU (from Cudnn library user guide): Other GRU (see `tf.compat.v1.nn.rnn_cell.GRUCell` and tf.contrib.rnn.GRUBlockCell): which is not equivalent to Cudnn GRU: in addition to the extra bias term b_Rh,
Show Example
# reset gate
            $$r_t = \sigma(x_t * W_r + h_t-1 * R_h + b_{Wr} + b_{Rr})$$
            # update gate
            $$u_t = \sigma(x_t * W_u + h_t-1 * R_u + b_{Wu} + b_{Ru})$$
            # new memory gate
            $$h'_t = tanh(x_t * W_h + r_t.* (h_t-1 * R_h + b_{Rh}) + b_{Wh})$$
            $$h_t = (1 - u_t).* h'_t + u_t.* h_t-1$$ 

Properties

Public properties

PythonFunctionContainer activity_regularizer get; set;

object activity_regularizer_dyn get; set;

bool built get; set;

object dtype get;

object dtype_dyn get;

bool dynamic get;

object dynamic_dyn get;

object graph get;

object graph_dyn get;

IList<Node> inbound_nodes get;

object inbound_nodes_dyn get;

IList<object> input get;

object input_dyn get;

object input_mask get;

object input_mask_dyn get;

IList<object> input_shape get;

object input_shape_dyn get;

object input_spec get; set;

object input_spec_dyn get; set;

IList<object> losses get;

object losses_dyn get;

IList<object> metrics get;

object metrics_dyn get;

object name get;

object name_dyn get;

object name_scope get;

object name_scope_dyn get;

IList<object> non_trainable_variables get;

object non_trainable_variables_dyn get;

IList<object> non_trainable_weights get;

object non_trainable_weights_dyn get;

IList<object> outbound_nodes get;

object outbound_nodes_dyn get;

IList<object> output get;

object output_dyn get;

object output_mask get;

object output_mask_dyn get;

object output_shape get;

object output_shape_dyn get;

object output_size get;

object output_size_dyn get;

object PythonObject get;

object rnncell_scope get; set;

string scope_name get;

object scope_name_dyn get;

object state_size get;

object state_size_dyn get;

bool stateful get; set;

ValueTuple<object> submodules get;

object submodules_dyn get;

bool supports_masking get; set;

bool trainable get; set;

object trainable_dyn get; set;

object trainable_variables get;

object trainable_variables_dyn get;

IList<object> trainable_weights get;

object trainable_weights_dyn get;

IList<object> updates get;

object updates_dyn get;

object variables get;

object variables_dyn get;

IList<object> weights get;

object weights_dyn get;