code: def check_double_backward(
      self, inputs, grad_outputs, grad_grad_inputs, backend_config
  ):
      if backend_config.use_cuda:
          inputs = cuda.to_gpu(inputs)
          grad_outputs = cuda.to_gpu(grad_outputs)
          grad_grad_inputs = cuda.to_gpu(grad_grad_inputs)
  
      # Instantiate the function class directly in order to reuse the mask,
      # because f will be called repeatedly.
      dropout = functions.noise.dropout.Dropout(self.ratio)
  
      def f(*inputs):
          return dropout.apply(inputs)
  
      with backend_config:
          gradient_check.check_double_backward(
              f,
              inputs,
              grad_outputs,
              grad_grad_inputs,
              **self.check_double_backward_options,
          )
  
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 7 for calling the TestDropout obj's underlying member method code with example usage: obj.check_double_backward(inputs, grad_outputs, grad_grad_inputs, backend_config) and returns: dropout