code: def test_convolution_2d_recomputation(
      inshape,
      kernel,
      outmaps,
      pad,
      stride,
      dilation,
      group,
      with_bias,
      seed,
      num_bits,
      inq_iterations,
      selection_algorithm,
      func_seed,
      ctx,
      func_name,
  ):
      from nbla_test_utils import recomputation_test
  
      rng = np.random.RandomState(seed)
      # Input
      inputs = [rng.randn(*inshape).astype(np.float32)]
      # Weights
      inmaps = inshape[-3]
      kshape = (outmaps,) + (inmaps // group,) + kernel
      inputs += [rng.randn(*kshape).astype(np.float32)]
      # Indices
      inputs += [np.random.randint(2, size=kshape)]
      # Bias
      if with_bias:
          inputs += [rng.randn(outmaps).astype(np.float32)]
      else:
          inputs += [None]
  
      base_axis = len(inshape) - 3
      func_args = [
          base_axis,
          pad,
          stride,
          dilation,
          group,
          num_bits,
          inq_iterations,
          selection_algorithm,
          func_seed,
      ]
  
      vinputs = []
      for i in inputs:
          if i is None:
              vinputs.append(None)
          else:
              vinputs.append(nn.Variable.from_numpy_array(i))
  
      recomputation_test(
          rng=rng,
          func=F.inq_convolution,
          vinputs=vinputs,
          func_args=func_args,
          func_kwargs={},
          ctx=ctx,
      )
  
file_path: nnabla/python/test/function/test_inq_convolution.py
imports: from __future__ import division
  import pytest
  import numpy
  import nnabla
  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_convolution_2d_recomputation(inshape, kernel, outmaps, pad, stride, dilation, group, with_bias, seed, num_bits, inq_iterations, selection_algorithm, func_seed, ctx, func_name) without return types