code: def test_embed_double_backward(
      seed, shape_x, shape_w, ctx, func_name
  ):
      if sys.maxsize <= 2**32 and shape_w == (6, 2, 2, 3):
          pytest.skip("skipped on 32bit system")
      from nbla_test_utils import (
          backward_function_tester,
          grad_function_forward_function_output,
      )
      from nnabla.backward_function.embed import EmbedFilterGrad
  
      rng = np.random.RandomState(seed)
      n_class = shape_w[0]
      x = rng.randint(0, n_class - 1, shape_x).astype(np.int32)
      w = rng.randn(*shape_w).astype(np.float32)
      inputs = [x, w]
      # Embed
      backward_function_tester(
          rng, F.embed, inputs, ctx=ctx, backward=[False, True]
      )
      # FilterGrad
      df, y = grad_function_forward_function_output(
          EmbedFilterGrad, F.embed, ctx, inputs
      )
      df.wshape = inputs[1].shape
      ginputs = [rng.randn(*y.shape), inputs[0]]
      backward_function_tester(
          rng,
          df,
          ginputs,
          func_args=[],
          backward=[True, False],
          atol_accum=3e-2,
          dstep=1e-3,
          ctx=ctx,
          non_accum_check=True,
      )
  
imports: import pytest
  import sys
  import numpy
  import nnabla.functions
  from nbla_test_utils import list_context
label_desc: Use image node_id 2 for calling a global function with example usage: test_embed_double_backward(seed, shape_x, shape_w, ctx, func_name) without return types