code: def testParameterDtype(self, dtype):
      if dtype == tf.int32 and self.primary_device in ("GPU", "TPU"):
          self.skipTest(
              "int32 not supported on %s" % self.primary_device
          )
      elif self.primary_device == "TPU" and dtype == tf.float16:
          dtype = tf.bfloat16
  
      mod = linear.Linear(1, w_init=tf.zeros_initializer())
      out = mod(tf.ones([1, 1], dtype=dtype))
      self.assertEqual(out.dtype, dtype)
      self.assertEqual(mod.w.dtype, dtype)
      self.assertEqual(mod.b.dtype, dtype)
  
imports: from absl.testing import parameterized
  import numpy
  from sonnet.src import linear
  from sonnet.src import test_utils
  import tensorflow
label_desc: Use image node_id 6 for calling the LinearTest obj's underlying member method code with example usage: obj.testParameterDtype(dtype) without return types