code: def test_upsample_nearest_op(self, N, H, W, scale, gc, dc):
      C = 32
      X = np.random.randn(N, C, H, W).astype(np.float32)
      op = core.CreateOperator(
          "UpsampleNearest", ["X"], ["Y"], scale=scale
      )
  
      def ref(X):
          outH = H * scale
          outW = W * scale
          outH_idxs, outW_idxs = np.meshgrid(
              np.arange(outH), np.arange(outW), indexing="ij"
          )
          inH_idxs = (outH_idxs / scale).astype(np.int32)
          inW_idxs = (outW_idxs / scale).astype(np.int32)
          Y = X[:, :, inH_idxs, inW_idxs]
          return [Y]
  
      self.assertReferenceChecks(
          device_option=gc, op=op, inputs=[X], reference=ref
      )
  
file_path: pytorch/modules/detectron/upsample_nearest_op_test.py
imports: import unittest
  import caffe2.python.hypothesis_test_util
  import hypothesis.strategies
  import numpy
  from caffe2.python import core, dyndep
  from hypothesis import given, settings
label_desc: Use image node_id 1 for calling the TestUpsampleNearestOp obj's underlying member method code with example usage: obj.test_upsample_nearest_op(N, H, W, scale, gc, dc) and returns: list