code: def check_double_backward(
      self,
      x_data,
      t_data,
      y_grad,
      gx_grad,
      normalize=True,
      reduce="mean",
  ):
      # Skip too large case. That requires a long time.
      if self.shape[0] == 65536:
          return
  
      if reduce == "mean":
          y_grad = utils.force_array(y_grad.sum())
  
      def f(x, t):
          return chainer.functions.sigmoid_cross_entropy(
              x, t, normalize=normalize, reduce=reduce
          )
  
      gradient_check.check_double_backward(
          f,
          (x_data, t_data),
          y_grad,
          (gx_grad,),
          **self.check_double_backward_options,
      )
  
imports: import math
  import unittest
  import numpy
  import six
  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 import utils
label_desc: Use image node_id 18 for calling the TestSigmoidCrossEntropy obj's underlying member method code with example usage: obj.check_double_backward(x_data, t_data, y_grad, gx_grad, normalize, reduce) and returns: chainer