code: def test_transpose_double_backward(
      seed, inshape, axes, ctx, func_name
  ):
      from nbla_test_utils import (
          backward_function_tester,
          grad_function_forward_function_output,
      )
      from nnabla.backward_function.transpose import TransposeDataGrad
  
      rng = np.random.RandomState(seed)
      # Input
      inputs = [rng.randn(*inshape).astype(np.float32)]
      func_args = [axes]
      # 2rd-order
      backward_function_tester(
          rng, F.transpose, inputs, func_args=func_args, ctx=ctx
      )
      # 3rd-order
      df, y = grad_function_forward_function_output(
          TransposeDataGrad, F.transpose, ctx, inputs, *func_args
      )
      df.xshape = inputs[0].shape
      ginputs = [rng.randn(*y.shape)]
      backward_function_tester(
          rng, df, ginputs, func_args=[], ctx=ctx, non_accum_check=True
      )
  
file_path: nnabla/python/test/function/test_transpose.py
imports: import pytest
  import numpy
  import nnabla
  import nnabla.functions
  from nbla_test_utils import list_context
label_desc: Use image node_id 3 for calling a global function with example usage: test_transpose_double_backward(seed, inshape, axes, ctx, func_name) without return types