class_docstr: Concatenate multiple tensors along third axis (depth wise).
code: def check_type_forward(self, in_types):
      type_check.expect(in_types.size() > 0)
      type_check._argname((in_types[0],), ("x0",))
  
      ndim = type_check.eval(in_types[0].ndim)
      for i in six.moves.range(1, type_check.eval(in_types.size())):
          type_check._argname((in_types[i],), ("x{}".format(i),))
          type_check.expect(
              in_types[0].dtype == in_types[i].dtype,
              in_types[0].ndim == in_types[i].ndim,
          )
          if ndim <= 2:
              type_check.expect(in_types[0].shape == in_types[i].shape)
              continue
          for d in six.moves.range(0, ndim):
              if d == 2:
                  continue
              type_check.expect(
                  in_types[0].shape[d] == in_types[i].shape[d]
              )
  
file_path: chainer/chainer/functions/array/dstack.py
imports: import numpy
  import six
  import chainer
  from chainer import backend
  from chainer import function_node
  from chainer.utils import type_check
label_desc: Use image node_id 1 for calling the Dstack obj's underlying member method code with example usage: obj.check_type_forward(in_types) without return types