code: def check_type_forward(self, in_types):
      type_check._argname(in_types, ("x", "t", "W"))
      x_type, t_type, w_type = in_types
  
      type_check.expect(
          x_type.dtype.kind == "f",
          x_type.ndim == 2,
          t_type.dtype == numpy.int32,
          t_type.ndim == 1,
          x_type.shape[0] == t_type.shape[0],
          w_type.dtype == x_type.dtype,
          w_type.ndim == 2,
      )
  
imports: import numpy
  import six
  import chainer
  from chainer import backend
  from chainer.backends import cuda
  from chainer import function_node
  from chainer import utils
  from chainer.utils import argument
  from chainer.utils import precision
  from chainer.utils import type_check
label_desc: Use image node_id 3 for calling the NegativeSamplingFunction obj's underlying member method code with example usage: obj.check_type_forward(in_types) without return types