class_docstr: Same as snt.DeepRNN, but takes three inputs (obs, act, prev_state).
    
class_docstr_tok: ["Same","as","snt.DeepRNN",",","but","takes","three","inputs","(","obs",",","act",",","prev_state",")","."]
code: def __call__(
      self,
      inputs: types.NestedTensor,
      action: tf.Tensor,
      prev_state: RNNState,
  ) -> Tuple[types.NestedTensor, RNNState]:
      # Pack the inputs into a tuple and then using inherited DeepRNN logic to
      # pass them through the layers.
      # This in turn will pass the packed inputs into the first layer
      # (UnpackWrapper) which will unpack them back.
      return super().__call__((inputs, action), prev_state)
  
imports: import functools
  from typing import NamedTuple, Optional, Sequence, Tuple
  from absl import logging
  from acme import types
  from acme.tf import savers
  from acme.tf import utils
  from acme.tf.networks import base
  import sonnet
  import tensorflow
  import tensorflow_probability
  import tree
label_desc: Use image node_id 2 for calling the CriticDeepRNN obj's underlying member method code with example usage: obj.__call__(inputs, action, prev_state) and returns: super