code: def _check_call(self):
      hs = [
          chainer.Variable(
              _random_array(self.link.xp, (2, 64, 32, 32))
          ),
          chainer.Variable(
              _random_array(self.link.xp, (2, 64, 16, 16))
          ),
          chainer.Variable(_random_array(self.link.xp, (2, 64, 8, 8))),
      ]
  
      locs, confs = self.link(hs)
  
      self.assertEqual(len(locs), 3)
      self.assertEqual(len(confs), 3)
      for l in range(3):
          self.assertIsInstance(locs[l], chainer.Variable)
          self.assertIsInstance(locs[l].array, self.link.xp.ndarray)
          self.assertEqual(
              locs[l].shape, (2, (32 * 32 >> 2 * l) * 3, 4)
          )
  
          self.assertIsInstance(confs[l], chainer.Variable)
          self.assertIsInstance(confs[l].array, self.link.xp.ndarray)
          self.assertEqual(confs[l].shape, (2, (32 * 32 >> 2 * l) * 3))
  
imports: from __future__ import division
  import numpy
  import unittest
  import chainer
  from chainer import testing
  from chainer.testing import attr
  from chainercv.links.model.fpn import RPN
  from chainercv.links.model.fpn import rpn_loss
label_desc: Use image node_id 2 for calling the TestRPN obj's underlying member method code with example usage: obj._check_call() without return types