code: def check_double_backward(
      self, x_data, y_grad, x_grad_grad, use_cudnn="always"
  ):
      with chainer.using_config("use_cudnn", use_cudnn):
          gradient_check.check_double_backward(
              self.func,
              x_data,
              y_grad,
              x_grad_grad,
              dtype=numpy.float64,
              atol=5e-3,
              rtol=5e-3,
          )
  
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
  from chainer.testing import condition
  from chainer.utils import type_check
  from chainer_tests.functions_tests.pooling_tests import pooling_nd_helper
label_desc: Use image node_id 12 for calling the TestSpatialPyramidPooling2D obj's underlying member method code with example usage: obj.check_double_backward(x_data, y_grad, x_grad_grad, use_cudnn) without return types