code: def check_forward(self, inputs, backend_config):
      if backend_config.use_cuda:
          inputs = cuda.to_gpu(inputs)
  
      with backend_config:
          y = functions.dropout(*(inputs + [self.ratio]))
  
      if backend_config.use_cudnn == "always":
          if self.ratio == 0.0:
              (y_expected,) = inputs
              testing.assert_allclose(y_expected, y.data)
          else:
              self.assertTrue(cuda.cupy.all(inputs[0] != y.data))
      else:
          # In the calculation of expected results,
          # the mask used in test forward computation is reused.
          mask = y.creator.mask
          (y_expected,) = self.forward_cpu(inputs, self.ratio, mask)
  
          assert y.data.dtype == self.dtype
          testing.assert_allclose(y_expected, y.data)
  
imports: import unittest
  import numpy
  import chainer
  from chainer.backends import cuda
  from chainer import functions
  from chainer import gradient_check
  from chainer import testing
  from chainer.testing import attr
label_desc: Use image node_id 3 for calling the TestDropout obj's underlying member method code with example usage: obj.check_forward(inputs, backend_config) without return types