code: def test_einsum_forward_backward(
      seed, x_shapes, equation, ctx, func_name
  ):
      from nbla_test_utils import function_tester
  
      rng = np.random.RandomState(seed)
      inputs = [
          rng.randn(*shape).astype(np.float32) for shape in x_shapes
      ]
      backward = [True] * len(inputs)
      atol_f = 0 if func_name.endswith("Cpu") else 1e-6
      function_tester(
          rng,
          F.einsum,
          ref_einsum,
          inputs,
          ctx=ctx,
          func_name=func_name,
          atol_f=atol_f,
          atol_b=2e-2,
          func_kwargs=dict(equation=equation),
          backward=backward,
      )
  
imports: import pytest
  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_einsum_forward_backward(seed, x_shapes, equation, ctx, func_name) without return types