code: def testCDFBroadcasting(self):
      # shape: [batch=2, n_bins=3]
      histograms = [[0.2, 0.1, 0.7], [0.3, 0.45, 0.25]]
  
      # shape: [batch=3, batch=2]
      devent = [[0, 0], [1, 1], [2, 2]]
      dist = categorical.Categorical(probs=histograms)
  
      # We test that the probabilities are correctly broadcasted over the
      # additional leading batch dimension of size 3.
      expected_cdf_result = np.zeros((3, 2))
      expected_cdf_result[0, 0] = 0
      expected_cdf_result[0, 1] = 0
      expected_cdf_result[1, 0] = 0.2
      expected_cdf_result[1, 1] = 0.3
      expected_cdf_result[2, 0] = 0.3
      expected_cdf_result[2, 1] = 0.75
  
      with self.cached_session():
          self.assertAllClose(dist.cdf(devent), expected_cdf_result)
  
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 12 for calling the CategoricalTest obj's underlying member method code with example usage: obj.testCDFBroadcasting() without return types