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 __init__(self, layers: Sequence[snt.Module]):
      # Make the first layer take a single input instead of a list of arguments.
      if isinstance(layers[0], snt.RNNCore):
          first_layer = RNNUnpackWrapper(layers[0])
      else:
          first_layer = UnpackWrapper(layers[0])
      super().__init__([first_layer] + list(layers[1:]))
  
      self._unwrapped_first_layer = layers[0]
      self.__input_signature = None
  
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 1 to create a new CriticDeepRNN object from inherited base classes: snt with example: obj = CriticDeepRNN(layers)