garage.tf.distributions.distribution module

Distributions Base.

class Distribution[source]

Bases: object

Base class for distribution.

dim

Dimension of this distribution.

Type:int
dist_info_keys

Parameter names.

Type:list
dist_info_specs

Specification of the parameter of a distribution.

Type:list
entropy(dist_info)[source]

Entropy of a distribution.

Parameters:dist_info (dict) – Parameters of a distribution.
Returns:Entropy of the distribution.
Return type:float
entropy_sym(dist_info_vars, name='entropy_sym')[source]

Symbolic entropy of a distribution.

Parameters:
  • dist_info_vars (dict) – Symbolic parameters of a distribution.
  • name (str) – TensorFlow scope name.
Returns:

Symbolic entropy of the distribution.

Return type:

tf.Tensor

kl(old_dist_info, new_dist_info)[source]

Compute the KL divergence of two distributions.

Parameters:
  • old_dist_info (dict) – Parameters of the old distribution.
  • new_dist_info (dict) – Parameters of the new distribution.
Returns:

KL Divergence between two distributions.

Return type:

float

kl_sym(old_dist_info_vars, new_dist_info_vars, name='kl_sym')[source]

Compute the symbolic KL divergence of two distributions.

Parameters:
  • old_dist_info_vars (tf.Tensor) – Symbolic parameters of the old distribution.
  • new_dist_info_vars (tf.Tensor) – Symbolic parameters of the new distribution.
  • name (str) – TensorFlow scope name.
Returns:

Symbolic KL divergence between the two distributions.

Return type:

tf.Tensor

likelihood_ratio_sym(x_var, old_dist_info_vars, new_dist_info_vars, name='ll_ratio_sym')[source]

Symbolic likelihood ratio.

Parameters:
  • x_var (tf.Tensor) – Input placeholder.
  • old_dist_info_vars (dict) – Old distribution tensors.
  • new_dist_info_vars (dict) – New distribution tensors.
  • name (str) – TensorFlow scope name.
Returns:

Symbolic likelihood ratio.

Return type:

tf.Tensor

log_likelihood(xs, dist_info)[source]

Log likelihood of a sample under a distribution.

Parameters:
  • xs (np.ndarray) – Input value.
  • dist_info (dict) – Parameters of a distribution.
Returns:

Log likelihood of a sample under the distribution.

Return type:

float

log_likelihood_sym(x_var, dist_info_vars, name='ll_sym')[source]

Symbolic log likelihood.

Parameters:
  • x_var (tf.Tensor) – Input placeholder.
  • dist_info_vars (dict) – Parameters of a distribution.
  • name (str) – TensorFlow scope name.
Returns:

Symbolic log likelihood.

Return type:

tf.Tensor