class_docstr: Linear unit regularized by simplified dropconnect.
class_docstr_tok: ["Linear","unit","regularized","by","simplified","dropconnect","."]
code: def check_type_forward(self, in_types):
      n_in = in_types.size()
      type_check.expect(2 <= n_in, n_in <= 3)
      x_type, w_type = in_types[:2]
      type_check._argname((x_type, w_type), ("x", "W"))
  
      type_check.expect(
          x_type.dtype.kind == "f",
          w_type.dtype.kind == "f",
          x_type.ndim >= 2,
          w_type.ndim == 2,
          type_check.prod(x_type.shape[1:]) == w_type.shape[1],
      )
      if type_check.eval(n_in) == 3:
          b_type = in_types[2]
          type_check._argname((b_type,), ("b",))
          type_check.expect(
              b_type.dtype == x_type.dtype,
              b_type.ndim == 1,
              b_type.shape[0] == w_type.shape[0],
          )
  
      if self.mask is not None:
          if self.use_batchwise_mask:
              type_check.expect(
                  self.mask.shape[0] == x_type.shape[0],
                  self.mask.shape[1:] == w_type.shape,
              )
          else:
              type_check.expect(self.mask.shape == w_type.shape)
  
file_path: chainer/chainer/functions/noise/simplified_dropconnect.py
imports: import numpy
  from chainer import backend
  from chainer import function_node
  import chainer.functions
  from chainer.utils import type_check
  from chainer import variable
label_desc: Use image node_id 2 for calling the SimplifiedDropconnect obj's underlying member method code with example usage: obj.check_type_forward(in_types) without return types