code: def test_warp_by_grid_forward_backward(
      seed,
      ctx,
      func_name,
      size_out,
      size_inp,
      channels,
      batch_size,
      mode,
      padding_mode,
      align_corners,
      channel_last,
  ):
      pytest.skip(
          "Skip. Recover it after windows Tesla T4 1GPUTest fixed."
      )
  
      if channel_last and func_name == "WarpByGrid":
          pytest.skip("channel_last=True is not supported in CPU.")
  
      if mode == "nearest":
          backward = [True, False]
      else:
          backward = [True, True]
  
      from nbla_test_utils import function_tester
  
      rng = np.random.RandomState(seed)
      inp, grid_s = create_inputs(
          rng, batch_size, channels, size_out, size_inp, align_corners
      )
  
      if channel_last:
          inp = (
              inp.transpose((0, 2, 3, 1))
              if len(size_inp) == 2
              else inp.transpose((0, 2, 3, 4, 1))
          )
  
      inputs = [inp]
      inputs += [grid_s]
      func_args = [mode, padding_mode, align_corners, channel_last]
      function_tester(
          rng,
          F.warp_by_grid,
          ref_warp_by_grid,
          inputs,
          func_args=func_args,
          ctx=ctx,
          func_name=func_name,
          disable_half_test=True,
          backward=backward,
          atol_b=1e-2,
          atol_accum=1e-2,
      )
  
imports: import pytest
  import numpy
  import nnabla
  import nnabla.functions
  from nbla_test_utils import list_context
  from refs import generate_transformation_2d, generate_transformation_3d, affine_grid_2d, affine_grid_3d, ChannelLastToFirstTranspose
  from itertools import product
label_desc: Use image node_id 14 for calling a global function with example usage: test_warp_by_grid_forward_backward(seed, ctx, func_name, size_out, size_inp, channels, batch_size, mode, padding_mode, align_corners, channel_last) without return types