tf_agents.networks.normal_projection_network.NormalProjectionNetwork

Generates a tfp.distribution.Normal by predicting a mean and std.

Inherits From: DistributionNetwork, Network

sample_spec A tensor_spec.BoundedTensorSpec detailing the shape and dtypes of samples pulled from the output distribution.
activation_fn Activation function to use in dense layer.
init_means_output_factor Output factor for initializing action means weights.
std_bias_initializer_value Initial value for the bias of the stddev_projection_layer or the direct bias_layer depending on the state_dependent_std flag.
mean_transform Transform to apply to the calculated means. Uses tanh_squash_to_spec by default.
std_transform Transform to apply to the stddevs.
state_dependent_std If true, stddevs will be produced by MLP from state. else, stddevs will be an independent variable.
scale_distribution Whether or not to use a bijector chain to scale distributions to match the sample spec. Note the TransformedDistribution does not support certain operations required by some agents or policies such as KL divergence calculations or Mode.
seed seed used for Keras kernal initializers.
seed_stream_class The seed stream class. This is almost always tfp.util.SeedStream, except for in unit testing, when one may want to seed all the layers deterministically.
name A string representing name of the network.

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.
output_spec

state_spec

Methods

copy

View source

Create a shallow copy of this network.

Args
**kwargs Args to override when recreating this network. Commonly overridden args include 'name'.

Returns
A shallow copy of this network.

create_variables

View source

Force creation of the network's variables.

Return output specs.

Args
input_tensor_spec (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.

get_initial_state

View source

Returns an initial state usable by the network.

Args
batch_size Tensor or constant: size of the batch dimension. Can be None in which case not dimensions gets added.

Returns
A nested object of type self.state_spec containing properly initialized Tensors.

get_layer

View source

Retrieves a layer based on either its name (unique) or index.

If name and index are both provided, index will take precedence. Indices are based on order of horizontal graph traversal (bottom-up).

Args
name String, name of layer.
index Integer, index of layer.

Returns
A layer instance.

Raises
ValueError In case of invalid layer name or index.

summary

View source

Prints a string summary of the network.

Args
line_length 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.

Raises
ValueError if summary() is called before the model is built.