code: def test_max_pooling_3d(
      seed,
      inshape,
      kernel,
      stride,
      pad,
      ignore_border,
      channel_last,
      ctx,
      func_name,
  ):
      from nbla_test_utils import function_tester
  
      if channel_last and not func_name.endswith("Cudnn"):
          pytest.skip("Channel last is only supported in Cudnn so far")
      if channel_last:
          t = refs.ChannelLastToFirstTranspose(
              len(inshape), len(kernel)
          )
          inshape = tuple(inshape[i] for i in t.inv_axes)
      rng = np.random.RandomState(seed)
      inputs = [rng.randn(*inshape).astype(np.float32)]
      func_args = [kernel, stride, ignore_border, pad, channel_last]
      function_tester(
          rng,
          F.max_pooling,
          ref_max_pooling,
          inputs=inputs,
          func_args=func_args,
          func_name=func_name,
          ctx=ctx,
          atol_f=1e-6,
          atol_b=1e-2,
      )
  
file_path: nnabla/python/test/function/test_max_pooling.py
imports: import pytest
  import numpy
  import nnabla.functions
  import refs
  from nbla_test_utils import list_context
label_desc: Use image node_id 5 for calling a global function with example usage: test_max_pooling_3d(seed, inshape, kernel, stride, pad, ignore_border, channel_last, ctx, func_name) without return types