class_docstr: ROI max align over a set of 2d planes.
class_docstr_tok: ["ROI","max","align","over","a","set","of","2d","planes","."]
code: def check_type_forward(self, in_types):
      type_check.expect(in_types.size() == 3)
  
      x_type, roi_type, roi_index_type = in_types
      type_check.expect(
          x_type.dtype == numpy.float32,
          x_type.ndim == 4,
          roi_type.dtype == numpy.float32,
          roi_type.ndim == 2,
          roi_type.shape[1] == 4,
          roi_index_type.dtype == numpy.int32,
          roi_index_type.ndim == 1,
          roi_type.shape[0] == roi_index_type.shape[0],
      )
  
imports: import numbers
  import numpy
  import six
  import chainer
  from chainer.backends import cuda
  from chainer import function
  from chainer.functions.pooling.roi_average_align_2d import _GET_BILINEAR_INTERP_KERNEL
  from chainer.functions.pooling.roi_average_align_2d import _get_bilinear_interp_params
  from chainer.functions.pooling.roi_average_align_2d import _get_bounds
  from chainer import utils
  from chainer.utils import type_check
label_desc: Use image node_id 2 for calling the ROIMaxAlign2D obj's underlying member method code with example usage: obj.check_type_forward(in_types) without return types