code: def test_backward_dot_have_scalar_out(seed, shape_a, shape_b):
      rng = np.random.RandomState(seed)
  
      inputs = []
      func_args = []
  
      if not shape_a:
          a = rng.randn()
          func_args += [a]
          v_a = nn.Variable()
          v_a.data.cast(np.float32)[...] = a
      else:
          a = rng.randn(*shape_a).astype(np.float32)
          inputs += [a]
          v_a = nn.Variable.from_numpy_array(a)
  
      if not shape_b:
          b = rng.randn()
          func_args += [b]
          v_b = nn.Variable()
          v_b.data.cast(np.float32)[...] = b
      else:
          b = rng.randn(*shape_b).astype(np.float32)
          inputs += [b]
          v_b = nn.Variable.from_numpy_array(b)
  
      ans = F.dot(v_a, v_b)
      out = nn.Variable(ans.shape)
      out.data.cast(np.float32)
      func_args += [out]
  
      function_network_tester(
          rng,
          F.dot,
          inputs,
          func_args=func_args,
          have_scalar=True,
          args_out=True,
      )
  
file_path: nnabla/python/test/test_numpy_compat_functions.py
imports: import pytest
  import numpy
  import nnabla
  import nnabla.functions
  from nnabla.testing import assert_allclose
  from nbla_test_function_network import function_network_tester
label_desc: Use image node_id 6 for calling a global function with example usage: test_backward_dot_have_scalar_out(seed, shape_a, shape_b) without return types