code: def check_forward_no_reduction(self, x_data, t_data):
      x_val = chainer.Variable(x_data)
      t_val = chainer.Variable(t_data)
      loss = functions.sigmoid_cross_entropy(
          x_val, t_val, self.normalize, reduce="no"
      )
      self.assertEqual(loss.data.shape, self.x.shape)
      self.assertEqual(loss.data.dtype, self.dtype)
      loss_value = cuda.to_cpu(loss.data)
  
      # Compute expected value
      if not getattr(self, "ignore_all", False):
          for i in six.moves.range(self.x.shape[0]):
              for j in six.moves.range(self.x.shape[1]):
                  xd, td = self.x[i, j], self.t[i, j]
                  if td == -1:
                      loss_expect = 0
                  else:
                      loss_expect = -(
                          xd * (td - (xd >= 0))
                          - math.log(1 + math.exp(-numpy.abs(xd)))
                      )
                  self.assertAlmostEqual(
                      loss_expect, loss_value[i, j], places=self.places
                  )
  
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 3 for calling the TestSigmoidCrossEntropy obj's underlying member method code with example usage: obj.check_forward_no_reduction(x_data, t_data) without return types