code: def testReproduceVmap2(self, dtype):
      # Regression test for b/150811273
      if dtype == np.float32:
          raise unittest.SkipTest("b/150811273")
      seed = test_util.test_seed()
      loc = tf.constant(-12.500191, dtype=dtype)
      scale = tf.constant(1e-06, dtype=dtype)
      high = tf.constant(-12.502851, dtype=dtype)
      low = tf.constant(-187.50009, dtype=dtype)
      # Not validating args b/c the assertions confuse pfor.
      dist = truncated_normal.TruncatedNormal(
          loc, scale, low, high, validate_args=False
      )
      # At the default seed, the sample comes out as [-12.502851 -12.502851
      # -12.502851], but that's also weird.  At a scale of 1e-6, the samples
      # should cluster more tightly around the location, which is -12.500191.
      sample = self.evaluate(dist.sample(3, seed=seed))
      batch_lp = dist.log_prob(sample)
      pfor_lp = tf.vectorized_map(
          dist.log_prob, tf.convert_to_tensor(sample)
      )
      batch_lp_, pfor_lp_ = self.evaluate((batch_lp, pfor_lp))
      self.assertAllClose(batch_lp_, pfor_lp_, atol=1e-6)
  
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 2 for calling the TruncatedNormalTestGraphMode obj's underlying member method code with example usage: obj.testReproduceVmap2(dtype) without return types