code: def testReparametrizableBatch(self):
      def samples_sum(loc):
          dist = truncated_normal.TruncatedNormal(
              loc=loc, scale=1.0, low=-1.0, high=1.0, validate_args=True
          )
          return tf.reduce_sum(
              dist.sample(100, seed=test_util.test_seed())
          )
  
      loc = tf.constant([0.0, 1.0])
      _, dy_loc = self.evaluate(
          gradient.value_and_gradient(samples_sum, loc)
      )
      self.assertAllGreaterEqual(dy_loc, 0.0)
  
imports: import itertools
  import unittest
  from absl.testing import parameterized
  import numpy
  from scipy import stats
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import truncated_normal
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 16 for calling the TruncatedNormalStandaloneTestCase obj's underlying member method code with example usage: obj.testReparametrizableBatch() and returns: tf