code: def test_convolution_3d(self, with_bias):
      def f():
          data = np.ones([1, 10, 10, 10, 3])
          data[0, :, :, :, 1] += 1
          data[0, :, :, :, 2] += 2
          data = jnp.array(data)
          net = depthwise_conv.DepthwiseConv3D(
              channel_multiplier=1,
              kernel_shape=3,
              stride=1,
              padding="VALID",
              with_bias=with_bias,
              data_format="channels_last",
              **create_constant_initializers(1.0, 1.0, with_bias),
          )
          return net(data)
  
      init_fn, apply_fn = transform.transform(f)
      out = apply_fn(init_fn(random.PRNGKey(428)), None)
      self.assertEqual(out.shape, (1, 8, 8, 8, 3))
      self.assertLen(np.unique(out[0, :, :, :, 0]), 1)
      self.assertLen(np.unique(out[0, :, :, :, 1]), 1)
      self.assertLen(np.unique(out[0, :, :, :, 2]), 1)
      if with_bias:
          self.assertEqual(
              np.unique(out[0, :, :, :, 0])[0], 1 * 3.0**3 + 1
          )
          self.assertEqual(
              np.unique(out[0, :, :, :, 1])[0], 2 * 3.0**3 + 1
          )
          self.assertEqual(
              np.unique(out[0, :, :, :, 2])[0], 3 * 3.0**3 + 1
          )
      else:
          self.assertEqual(
              np.unique(out[0, :, :, :, 0])[0], 1 * 3.0**3
          )
          self.assertEqual(
              np.unique(out[0, :, :, :, 1])[0], 2 * 3.0**3
          )
          self.assertEqual(
              np.unique(out[0, :, :, :, 2])[0], 3 * 3.0**3
          )
  
imports: from absl.testing import absltest
  from absl.testing import parameterized
  from haiku._src import depthwise_conv
  from haiku._src import initializers
  from haiku._src import transform
  from jax import random
  import jax.numpy
  import numpy
label_desc: Use image node_id 2 for calling the DepthwiseConvNDTest obj's underlying member method code with example usage: obj.test_convolution_3d(with_bias) and returns: net