code: def testDtype(self):
      inputs = self._make_fake_images()
      h = self._make_fake_conditional()
      dist = self._make_pixel_cnn()
      num_samples = 4
  
      sample_shape = (
          num_samples
          if h is None
          else (num_samples,) + self.batch_shape
      )
  
      samples = dist.sample(sample_shape, conditional_input=h)
      log_prob = dist.log_prob(inputs, conditional_input=h)
  
      self.assertEqual(dist.dtype, tf.float32)
      self.assertEqual(dist.dtype, samples.dtype)
      self.assertEqual(dist.dtype, log_prob.dtype)
  
      dist64 = pixel_cnn.PixelCNN(
          image_shape=self.image_shape,
          conditional_shape=self.h_shape,
          num_resnet=2,
          num_hierarchies=2,
          num_filters=3,
          num_logistic_mix=2,
          dtype=tf.float64,
          high=self.high,
          low=self.low,
          use_weight_norm=False,
          use_data_init=False,
      )
  
      self.assertEqual(dist64.dtype, tf.float64)
      self.assertEqual(
          dist64.dtype,
          dist64.sample(sample_shape, conditional_input=h).dtype,
      )
  
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 14 for calling the PixelCnnTest obj's underlying member method code with example usage: obj.testDtype() without return types