code: def check_forward(self, x_data, roi_data, roi_index_data):
      x = chainer.Variable(x_data)
      rois = chainer.Variable(roi_data)
      roi_indices = chainer.Variable(roi_index_data)
      y = functions.ps_roi_max_pooling_2d(
          x,
          rois,
          roi_indices,
          self.outsize,
          self.spatial_scale,
          self.group_size,
      )
      self.assertEqual(y.data.dtype, np.float32)
      y_data = cuda.to_cpu(y.data)
      self.assertEqual(
          (self.n_roi, self.out_c, self.out_h, self.out_w), y_data.shape
      )
  
imports: import chainer
  from chainer.backends import cuda
  import chainer.functions
  from chainer import gradient_check
  from chainer import testing
  from chainer.testing import attr
  from chainer.testing import condition
  import numpy
  import unittest
  from chainercv import functions
label_desc: Use image node_id 2 for calling the TestPSROIMaxPooling2D obj's underlying member method code with example usage: obj.check_forward(x_data, roi_data, roi_index_data) without return types