code: def testNetworkOutputShapes(self):
      dist = self._make_pixel_cnn()
      inputs = self._make_fake_inputs()
      out = dist.network(inputs)
      batch_image_shape = self.batch_shape + self.image_shape
  
      num_channels = self.image_shape[-1]
      num_coeffs = num_channels * (num_channels - 1) // 2
  
      self.assertAllEqual(
          batch_image_shape[:-1] + (self.num_logistic_mix,),
          out[0].shape,
      )
      self.assertAllEqual(
          batch_image_shape[:-1] + (self.num_logistic_mix, num_coeffs),
          out[3].shape,
      )
      for i in [1, 2]:
          self.assertAllEqual(
              batch_image_shape[:-1]
              + (self.num_logistic_mix, num_channels),
              out[i].shape,
          )
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import pixel_cnn
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.internal import tf_keras
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 13 for calling the PixelCnnTest obj's underlying member method code with example usage: obj.testNetworkOutputShapes() without return types