code: def grad_function_forward_function_output(
      bwd_func_class, fwd_func, ctx, inputs, *func_args, **func_kwargs
  ):
      vinputs = [
          nn.Variable(inp.shape) if inp is not None else None
          for inp in inputs
      ]
      y = fwd_func(*(vinputs + force_list(func_args)), **func_kwargs)
      bwd_func = bwd_func_class(ctx, *func_args, **func_kwargs)
      return bwd_func, y
  
imports: from nnabla.utils import nnabla_pb2
  from six.moves import filter
  import copy
  import nnabla
  import nnabla.ext_utils
  import nnabla.functions
  import nnabla.utils.converter
  import nnabla.dtypes
  from nnabla.testing import assert_allclose
  import numpy
  import numpy
  import platform
label_desc: Use image node_id 23 for calling a global function with example usage: grad_function_forward_function_output(bwd_func_class, fwd_func, ctx, inputs) and returns: bwd_func,  y