code: def test_unpooling_forward_backward(
      seed, inshape, channel_last, kernel, ctx, func_name
  ):
      if channel_last and func_name == "Unpooling":
          pytest.skip(
              "Unpooling with channel_last is only supported in CUDA."
          )
      if channel_last and len(inshape) == len(kernel):
          pytest.skip(
              "len(input shape) == len(kernel) is only valid for the channel first."
          )
  
      from nbla_test_utils import function_tester
  
      rng = np.random.RandomState(seed)
      inputs = [rng.randn(*inshape).astype(np.float32)]
      function_tester(
          rng,
          F.unpooling,
          ref_unpooling,
          inputs=inputs,
          backward=[True],
          func_args=[kernel, channel_last],
          ctx=ctx,
          func_name=func_name,
          atol_f=1e-6,
          atol_b=1e-2,
      )
  
file_path: nnabla/python/test/function/test_unpooling.py
imports: import pytest
  import numpy
  import nnabla.functions
  import refs
  from nbla_test_utils import list_context
label_desc: Use image node_id 2 for calling a global function with example usage: test_unpooling_forward_backward(seed, inshape, channel_last, kernel, ctx, func_name) without return types