code: def testSampleWithSampleShape(self):
      with self.cached_session():
          histograms = [[[0.2, 0.8], [0.4, 0.6]]]
          dist = categorical.Categorical(
              math_ops.log(histograms) - 50.0
          )
          samples = dist.sample((100, 100), seed=123)
          prob = dist.prob(samples)
          prob_val = self.evaluate(prob)
          self.assertAllClose(
              [0.2**2 + 0.8**2],
              [prob_val[:, :, :, 0].mean()],
              atol=1e-2,
          )
          self.assertAllClose(
              [0.4**2 + 0.6**2],
              [prob_val[:, :, :, 1].mean()],
              atol=1e-2,
          )
  
imports: from absl.testing import parameterized
  import numpy
  from tensorflow.python.eager import backprop
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import tensor_util
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nn_ops
  from tensorflow.python.ops import random_ops
  from tensorflow.python.ops.distributions import categorical
  from tensorflow.python.ops.distributions import kullback_leibler
  from tensorflow.python.ops.distributions import normal
  from tensorflow.python.platform import test
label_desc: Use image node_id 19 for calling the CategoricalTest obj's underlying member method code with example usage: obj.testSampleWithSampleShape() without return types