code: def testMultiBatchOutputDimensions(self):
      x = tf.TensorSpec([None, None, None, 2], dtype=tf.float32)
  
      l = linear.Linear(7)
      defun_linear = tf.function(l)
  
      defun_linear.get_concrete_function(x)
  
      out = defun_linear(tf.ones([1, 5, 3, 2]))
      expected_out = l(tf.ones([1, 5, 3, 2]))
      self.assertEqual(out.shape, [1, 5, 3, 7])
      self.assertAllEqual(
          self.evaluate(expected_out), self.evaluate(out)
      )
  
      out = defun_linear(tf.ones([2, 4, 5, 2]))
      self.assertEqual(out.shape, [2, 4, 5, 7])
  
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 13 for calling the LinearTest obj's underlying member method code with example usage: obj.testMultiBatchOutputDimensions() without return types