code: def testPmfShapes(self):
      probs = lambda p: tf1.placeholder_with_default(p, shape=None)
      dist = lambda p: bernoulli.Bernoulli(
          probs=probs(p), validate_args=True
      )
      self.assertEqual(
          2, len(self.evaluate(dist([[0.5], [0.5]]).log_prob(1)).shape)
      )
  
      dist = bernoulli.Bernoulli(probs=0.5, validate_args=True)
      self.assertEqual(
          2, len(self.evaluate(dist.log_prob([[1], [1]])).shape)
      )
  
      dist = bernoulli.Bernoulli(probs=0.5, validate_args=True)
      self.assertAllEqual([], dist.log_prob(1).shape)
      self.assertAllEqual([1], dist.log_prob([1]).shape)
      self.assertAllEqual([2, 1], dist.log_prob([[1], [1]]).shape)
  
      dist = bernoulli.Bernoulli(
          probs=[[0.5], [0.5]], validate_args=True
      )
      self.assertAllEqual([2, 1], dist.log_prob(1).shape)
  
imports: import numpy
  from scipy import special
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import bernoulli
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 13 for calling the BernoulliTest obj's underlying member method code with example usage: obj.testPmfShapes() without return types