Distributions

Distributions are customized via the distributions argument of policy, for instance:

Agent.create(
    ...
    policy=dict(distributions=dict(
        float=dict(type='gaussian', global_stddev=True),
        bounded_action=dict(type='beta')
    ))
    ...
)

See the policies documentation for more information about how to specify a policy.

class tensorforce.core.distributions.Categorical(*, name=None, action_spec=None, input_spec=None)

Categorical distribution, for discrete integer actions (specification key: categorical).

Parameters:
  • name (string) – internal use.
  • action_spec (specification) – internal use.
  • input_spec (specification) – internal use.
class tensorforce.core.distributions.Gaussian(*, global_stddev=False, bounded_transform='tanh', name=None, action_spec=None, input_spec=None)

Gaussian distribution, for continuous actions (specification key: gaussian).

Parameters:
  • global_stddev (bool) – Whether to use a separate set of trainable weights to parametrize standard deviation, instead of a state-dependent linear transformation (default: false).
  • bounded_transform ("clipping" | "tanh") – Transformation to adjust sampled actions in case of bounded action space (default: tanh).
  • name (string) – internal use.
  • action_spec (specification) – internal use.
  • input_spec (specification) – internal use.
class tensorforce.core.distributions.Bernoulli(*, name=None, action_spec=None, input_spec=None)

Bernoulli distribution, for binary boolean actions (specification key: bernoulli).

Parameters:
  • name (string) – internal use.
  • action_spec (specification) – internal use.
  • input_spec (specification) – internal use.
class tensorforce.core.distributions.Beta(*, name=None, action_spec=None, input_spec=None)

Beta distribution, for bounded continuous actions (specification key: beta).

Parameters:
  • name (string) – internal use.
  • action_spec (specification) – internal use.
  • input_spec (specification) – internal use.