class_docstr: Gated Recurrent Unit cell (cf. http://arxiv.org/abs/1406.1078).
  Args:
    num_units: int, The number of units in the GRU cell.
    activation: Nonlinearity to use.  Default: `tanh`.
    reuse: (optional) Python boolean describing whether to reuse variables
     in an existing scope.  If not `True`, and the existing scope already has
     the given variables, an error is raised.
    kernel_initializer: (optional) The initializer to use for the weight and
    projection matrices.
    bias_initializer: (optional) The initializer to use for the bias.
docstr: Gated recurrent unit (GRU) with nunits cells.
docstr_tok: ["Gated","recurrent","unit","(","GRU",")","with","nunits","cells","."]
code: def call(self, inputs, state, att_score=None):
      """Gated recurrent unit (GRU) with nunits cells."""
      if self._gate_linear is None:
          bias_ones = self._bias_initializer
          if self._bias_initializer is None:
              bias_ones = init_ops.constant_initializer(
                  1.0, dtype=inputs.dtype
              )
          with vs.variable_scope(
              "gates"
          ):  # Reset gate and update gate.
              self._gate_linear = _Linear(
                  [inputs, state],
                  2 * self._num_units,
                  True,
                  bias_initializer=bias_ones,
                  kernel_initializer=self._kernel_initializer,
              )
  
      value = math_ops.sigmoid(self._gate_linear([inputs, state]))
      r, u = array_ops.split(value=value, num_or_size_splits=2, axis=1)
  
      r_state = r * state
      if self._candidate_linear is None:
          with vs.variable_scope("candidate"):
              self._candidate_linear = _Linear(
                  [inputs, r_state],
                  self._num_units,
                  True,
                  bias_initializer=self._bias_initializer,
                  kernel_initializer=self._kernel_initializer,
              )
      c = self._activation(self._candidate_linear([inputs, r_state]))
      new_h = (1.0 - att_score) * state + att_score * c
      return new_h, new_h
  
imports: import tensorflow
  from tensorflow.python.ops.rnn_cell import *
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import init_ops
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import variable_scope
  from tensorflow.python.util import nest
  from tensorflow.python.ops import nn_ops
  from bigdl.dllib.utils.log4Error import *
label_desc: Use image node_id 5 for calling the QAAttGRUCell obj's underlying member method code with example usage: obj.call(inputs, state, att_score) and returns: new_h,  new_h