code: def testComputationValidMultiChannel(self, with_bias):
      conv1 = depthwise_conv.DepthwiseConv2D(
          channel_multiplier=1,
          kernel_shape=[3, 3],
          stride=1,
          padding="VALID",
          with_bias=with_bias,
          **create_constant_initializers(1.0, 1.0, with_bias),
      )
  
      out = conv1(tf.ones([1, 5, 5, 3]))
      expected_out = np.array([[[10] * 3] * 3] * 3)
      if not with_bias:
          expected_out -= 1
  
      self.assertAllClose(
          np.reshape(out.numpy(), [3, 3, 3]), expected_out
      )
  
imports: from absl.testing import parameterized
  import numpy
  from sonnet.src import depthwise_conv
  from sonnet.src import initializers
  from sonnet.src import test_utils
  import tensorflow
label_desc: Use image node_id 10 for calling the DepthwiseConvTest obj's underlying member method code with example usage: obj.testComputationValidMultiChannel(with_bias) without return types