'Entropy of this distribution parameterized by theta,
estimated from a batch of samples.
.. math::
H(x) = - E[\log p(x_i)], \text{where } p \text{ is parameterized by } \theta.
Args:
x: samples of shape (batch, sample_dim)
theta: model parameters of shape (batch, param_dim)
Returns:
a scalar tensor, the entropy.'

@class_scope
def entropy(self, x, theta):

    return tf.reduce_mean((- self.loglikelihood(x, theta)), name='entropy')
