class_docstr: Simple CategoricalGRUModel for testing.
  
  Args:
      output_dim (int): Dimension of the network output.
      hidden_dim (int): Hidden dimension for GRU cell.
      name (str): Policy name, also the variable scope.
      args: Extra arguments which are not used.
      kwargs: Extra keyword arguments which are not used.
class_docstr_tok: ["Simple","CategoricalGRUModel","for","testing",".","Args",":","output_dim","(","int",")",":","Dimension","of","the","network","output",".","hidden_dim","(","int",")",":","Hidden","dimension","for","GRU","cell",".","name","(","str",")",":","Policy","name",",","also","the","variable","scope",".","args",":","Extra","arguments","which","are","not","used",".","kwargs",":","Extra","keyword","arguments","which","are","not","used","."]
docstr: Build model.
  
  Args:
      obs_input (tf.Tensor): Entire time-series observation input.
      step_obs_input (tf.Tensor): Single timestep observation input.
      step_hidden (tf.Tensor): Hidden state for step.
      name (str): Name of the model, also the name scope.
  
  Returns:
      tf.Tensor: Entire time-series outputs.
      tf.Tensor: Step output.
      tf.Tensor: Step hidden state.
      tf.Tensor: Initial hidden state.
      tfp.distributions.OneHotCategorical: Distribution.
docstr_tok: ["Build","model",".","Args",":","obs_input","(","tf.Tensor",")",":","Entire","time-series","observation","input",".","step_obs_input","(","tf.Tensor",")",":","Single","timestep","observation","input",".","step_hidden","(","tf.Tensor",")",":","Hidden","state","for","step",".","name","(","str",")",":","Name","of","the","model",",","also","the","name","scope",".","Returns",":","tf.Tensor",":","Entire","time-series","outputs",".","tf.Tensor",":","Step","output",".","tf.Tensor",":","Step","hidden","state",".","tf.Tensor",":","Initial","hidden","state",".","tfp.distributions.OneHotCategorical",":","Distribution","."]
code: def _build(self, obs_input, step_obs_input, step_hidden, name=None):
      """Build model.
  
      Args:
          obs_input (tf.Tensor): Entire time-series observation input.
          step_obs_input (tf.Tensor): Single timestep observation input.
          step_hidden (tf.Tensor): Hidden state for step.
          name (str): Name of the model, also the name scope.
  
      Returns:
          tf.Tensor: Entire time-series outputs.
          tf.Tensor: Step output.
          tf.Tensor: Step hidden state.
          tf.Tensor: Initial hidden state.
          tfp.distributions.OneHotCategorical: Distribution.
  
      """
      outputs, output, step_hidden, hidden_init_var = super()._build(
          obs_input, step_obs_input, step_hidden, name
      )
      dist = tfp.distributions.OneHotCategorical(outputs)
      return outputs, output, step_hidden, hidden_init_var, dist
  
imports: import tensorflow_probability
  from tests.fixtures.models.simple_gru_model import SimpleGRUModel
label_desc: Use image node_id 3 for calling the SimpleCategoricalGRUModel obj's underlying member method code with example usage: obj._build(obs_input, step_obs_input, step_hidden, name) and returns: outputs,  output,  step_hidden,  hidden_init_var,  dist