code: def test_FixedUnPooling(self):
      h, w = 3, 4
      scale = 2
      mat = np.random.rand(h, w, 3).astype("float32")
      input = self.make_variable(mat)
      input = tf.reshape(input, [1, h, w, 3])
      output = FixedUnPooling("unpool", input, scale)
      res = self.eval(output)
      self.assertEqual(res.shape, (1, scale * h, scale * w, 3))
  
      # mat is on corner
      ele = res[0, ::scale, ::scale, 0]
      self.assertTrue((ele == mat[:, :, 0]).all())
      # the rest are zeros
      res[0, ::scale, ::scale, :] = 0
      self.assertTrue((res == 0).all())
  
file_path: tensorpack/tensorpack/models/models_test.py
imports: import logging
  import unittest
  import numpy
  from ..compat import tfv1
  from .conv2d import Conv2DTranspose
  from .pool import FixedUnPooling
label_desc: Use image node_id 1 for calling the TestPool obj's underlying member method code with example usage: obj.test_FixedUnPooling() without return types