code: def check_forward(self, x_data, W_data, b_data):
      args1 = (x_data, W_data)
      args2 = (x_data, W_data)
      if b_data is not None:
          args1 = args1 + (b_data,)
          b_data = sum(numpy.split(b_data, W_data.shape[1]))
          args2 = args2 + (b_data,)
  
      y1 = functions.depthwise_convolution_2d(
          *args1, stride=self.stride, pad=self.pad
      )
      arys = numpy.split(y1.array, self.W.shape[1], axis=1)
      y1 = sum(arys)
  
      y2 = functions.convolution_2d(
          *args2, stride=self.stride, pad=self.pad
      ).array
      testing.assert_allclose(y1, y2, **self.check_forward_options)
  
imports: import unittest
  import numpy
  from chainer.backends import cuda
  from chainer import functions
  from chainer import gradient_check
  from chainer import testing
  from chainer.testing import attr
  from chainer.testing import condition
label_desc: Use image node_id 2 for calling the TestDepthwiseConvolution2DFunction obj's underlying member method code with example usage: obj.check_forward(x_data, W_data, b_data) without return types