docstr: Test that dynamically-sized events with unknown shape work.
docstr_tok: ["Test","that","dynamically-sized","events","with","unknown","shape","work","."]
code: def testCDFWithDynamicEventShapeUnknownNdims(
      self, events, histograms, expected_cdf
  ):
      """Test that dynamically-sized events with unknown shape work."""
      event_ph = tf1.placeholder_with_default(events, shape=None)
      histograms_ph = tf1.placeholder_with_default(
          histograms, shape=None
      )
      dist = categorical.Categorical(
          probs=histograms_ph, validate_args=True
      )
      cdf_op = dist.cdf(event_ph)
  
      actual_cdf = self.evaluate(cdf_op)
      self.assertAllClose(actual_cdf, expected_cdf)
  
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import identity
  from tensorflow_probability.python.distributions import categorical
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
  from tensorflow_probability.python.util import deferred_tensor
label_desc: Use image node_id 9 for calling the CategoricalTest obj's underlying member method code with example usage: obj.testCDFWithDynamicEventShapeUnknownNdims(events, histograms, expected_cdf) without return types