code: def testGradientsEntropy(self, multi_actions, normalise_entropy):
      self._setUp_a2c_loss(
          multi_actions=multi_actions,
          normalise_entropy=normalise_entropy,
      )
      loss = self._extra.entropy_loss
  
      # MVN mu has None gradient for entropy
      self.assertIsNone(
          tf.gradients(loss, nest.flatten(self._policy_vars)[0])[0]
      )
      for policy_var in nest.flatten(self._policy_vars)[1:]:
          gradient = tf.gradients(loss, policy_var)[0]
          self.assertEqual(gradient.get_shape(), policy_var.get_shape())
  
      self.assertAllEqual(
          tf.gradients(loss, self._baseline_values), [None]
      )
  
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 6 for calling the SequenceA2CLossTest obj's underlying member method code with example usage: obj.testGradientsEntropy(multi_actions, normalise_entropy) without return types