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:
c = Sequential([layer1, layer2, layer3])
output, next_state = c(inputs, state)
Args
layers
A list or tuple of layers to compose. Any layers that are
subclasses of tf.keras.layers.{RNN,LSTM,GRU,...} are wrapped in
tf_agents.keras_layers.RNNWrapper.
input_spec
(Optional.) A nest of tf.TypeSpec representing the input
observations to the first layer.
name
(Optional.) Network name.
Raises
ValueError
If layers is empty.
ValueError
If layers[0] is a generic Keras layer (not a TF-Agents
network) and input_spec is None.
TypeError
If any of the layers are not instances of keras Layer.
Attributes
input_tensor_spec
Returns the spec of the input to the network of type InputSpec.
layers
Get the list of all (nested) sub-layers used in this Network.
(Optional). Override or provide an input tensor spec
when creating variables.
**kwargs
Other arguments to network.call(), e.g. training=True.
Returns
Output specs - a nested spec calculated from the outputs (excluding any
batch dimensions). If any of the output elements is a tfp Distribution,
the associated spec entry returned is a DistributionSpec.
Raises
ValueError
If no input_tensor_spec is provided, and the network did
not provide one during construction.
Total length of printed lines (e.g. set this to adapt the
display to different terminal window sizes).
positions
Relative or absolute positions of log elements in each line.
If not provided, defaults to [.33, .55, .67, 1.].
print_fn
Print function to use. Defaults to print. It will be called
on each line of the summary. You can set it to a custom function in
order to capture the string summary.