class_docstr: Tests for policy_entropy op.
class_docstr_tok: ["Tests","for","policy_entropy","op","."]
code: def testEntropyLossMultiActionDynamic(
      self, sequence_length, batch_size, action_dim, normalise
  ):
      self._setUp_entropy(
          multi_actions=True,
          normalise=normalise,
          sequence_length=sequence_length,
          batch_size=batch_size,
          num_mvn_actions=action_dim,
      )
      entropy = self._policy_entropy_loss.extra.entropy
      loss = self._policy_entropy_loss.loss
      expected_shape = [sequence_length, batch_size]
      self.assertEqual(entropy.get_shape().as_list(), expected_shape)
      self.assertEqual(loss.get_shape().as_list(), expected_shape)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl.testing import parameterized
  import numpy
  from six.moves import xrange
  import tensorflow.compat.v1
  import tensorflow_probability
  import tree
  from trfl import policy_gradient_ops
label_desc: Use image node_id 3 for calling the EntropyCostTest obj's underlying member method code with example usage: obj.testEntropyLossMultiActionDynamic(sequence_length, batch_size, action_dim, normalise) without return types