code: def test_dtypes_are_correct_with_mixed_precision(self):
      tf.keras.mixed_precision.set_global_policy("mixed_float16")
      try:
          noisy = uniform_noise.NoisyNormal(
              loc=tf.constant(0.5, dtype=tf.float64),
              scale=tf.constant(1, dtype=tf.float64),
          )
          em = ContinuousBatchedEntropyModel(noisy, 1, compression=True)
          self.assertEqual(em.bottleneck_dtype, tf.float16)
          self.assertEqual(em.prior.dtype, tf.float64)
          x = tf.random.stateless_normal(
              (2, 5), seed=(0, 1), dtype=tf.float16
          )
          x_tilde, bits = em(x)
          bitstring = em.compress(x)
          x_hat = em.decompress(bitstring, (5,))
          self.assertEqual(x_hat.dtype, tf.float16)
          self.assertAllClose(x, x_hat, rtol=0, atol=0.5)
          self.assertEqual(x_tilde.dtype, tf.float16)
          self.assertAllClose(x, x_tilde, rtol=0, atol=0.5)
          self.assertEqual(bits.dtype, tf.float64)
          self.assertEqual(bits.shape, (2,))
          self.assertAllGreaterEqual(bits, 0.0)
      finally:
          tf.keras.mixed_precision.set_global_policy(
              tf.keras.backend.floatx()
          )
  
imports: from absl.testing import parameterized
  import tensorflow
  import tensorflow_probability
  from tensorflow_compression.python.distributions import uniform_noise
  from tensorflow_compression.python.entropy_models.continuous_batched import ContinuousBatchedEntropyModel
label_desc: Use image node_id 13 for calling the ContinuousBatchedEntropyModelTest obj's underlying member method code with example usage: obj.test_dtypes_are_correct_with_mixed_precision() without return types