class_docstr: The Sequential Network represents a sequence of Keras layers.
  
  It is a TF-Agents network that should be used instead of
  tf.keras.layers.Sequential. In contrast to keras Sequential, this layer can be
  used as a pure Layer in tf.functions and when exporting SavedModels, without
  having to pre-declare input and output shapes. In turn, this layer is usable
  as a preprocessing layer for TF Agents Networks, and can be exported via
  PolicySaver.
  
  Stateful Keras layers (e.g. LSTMCell, RNN, LSTM, TF-Agents DynamicUnroll)
  are all supported.  The `state_spec` of `Sequential` is a tuple whose
  length matches the number of stateful layers passed.  If no stateful layers
  or networks are passed to `Sequential` then `state_spec == ()`. Given that
  the replay buffers do not support specs with lists due to tf.nest vs
  tf.data.nest conflicts `Sequential` will also guarantee that all specs do not
  contain lists.
  
  Usage:
  ```python
  c = Sequential([layer1, layer2, layer3])
  output, next_state = c(inputs, state)
  ```
docstr: Make a copy of a `Sequential` instance.
  
  **NOTE** A copy of a `Sequential` instance always performs a deep copy
  of the underlying layers, so the new instance will not share weights
  with the original - but it will start with the same weights.
  
  Args:
    **kwargs: Args to override when recreating this network.  Commonly
      overridden args include 'name'.
  
  Returns:
    A deep copy of this network.
  
  Raises:
    RuntimeError: If not `tf.executing_eagerly()`; as this is required to
      be able to create deep copies of layers in `layers`.
docstr_tok: ["Make","a","copy","of","a","`","Sequential","`","instance",".","*","*","NOTE","*","*","A","copy","of","a","`","Sequential","`","instance","always","performs","a","deep","copy","of","the","underlying","layers",",","so","the","new","instance","will","not","share","weights","with","the","original","-","but","it","will","start","with","the","same","weights",".","Args",":","*","*","kwargs",":","Args","to","override","when","recreating","this","network",".","Commonly","overridden","args","include","'name","'",".","Returns",":","A","deep","copy","of","this","network",".","Raises",":","RuntimeError",":","If","not","`","tf.executing_eagerly","(",")","`",";","as","this","is","required","to","be","able","to","create","deep","copies","of","layers","in","`","layers","`","."]
code: def copy(self, **kwargs) -> "Sequential":
      """Make a copy of a `Sequential` instance.
  
      **NOTE** A copy of a `Sequential` instance always performs a deep copy
      of the underlying layers, so the new instance will not share weights
      with the original - but it will start with the same weights.
  
      Args:
        **kwargs: Args to override when recreating this network.  Commonly
          overridden args include 'name'.
  
      Returns:
        A deep copy of this network.
  
      Raises:
        RuntimeError: If not `tf.executing_eagerly()`; as this is required to
          be able to create deep copies of layers in `layers`.
      """
      if not tf.executing_eagerly():
          raise RuntimeError(
              "Not executing eagerly - cannot make deep copies of `layers`."
          )
      new_kwargs = dict(self._saved_kwargs, **kwargs)
      if "layers" not in kwargs:
          new_layers = [copy.deepcopy(l) for l in self.layers]
          new_kwargs["layers"] = new_layers
      return type(self)(**new_kwargs)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import copy
  from typing import Any, List, Mapping, Optional, Sequence, Text, Tuple, Union
  import tensorflow
  from tf_agents.keras_layers import rnn_wrapper
  from tf_agents.networks import network
  from tf_agents.typing import types
  from tf_agents.utils import common
label_desc: Use image node_id 3 for calling the Sequential obj's underlying member method code with example usage: obj.copy() and returns: type