code: def test_unbatched(self, n):
      input_shape = [2] + [16] * n + [4]
  
      def f():
          data = jnp.zeros(input_shape)
          net = conv.ConvND(n, output_channels=3, kernel_shape=3)
          return net(data)
  
      init_fn, apply_fn = transform.transform(f)
      out = apply_fn(init_fn(random.PRNGKey(428)), None)
      expected_output_shape = (2,) + (16,) * n + (3,)
      self.assertEqual(out.shape, expected_output_shape)
  
imports: from absl.testing import absltest
  from absl.testing import parameterized
  from haiku._src import conv
  from haiku._src import initializers
  from haiku._src import test_utils
  from haiku._src import transform
  import jax
  from jax import random
  import jax.numpy
  import numpy
label_desc: Use image node_id 7 for calling the ConvTest obj's underlying member method code with example usage: obj.test_unbatched(n) and returns: net