code: def test_nn_grad_propagate_down_check():
      register(
          "IdentityForwardOnlyFunction",
          IdentityForwardOnlyFunction_backward,
      )
      backward_func = registry["IdentityForwardOnlyFunction"]
      assert backward_func is not None
  
      x = nn.Variable.from_numpy_array(np.random.random((1, 1, 32, 32)))
      y = PF.convolution(
          x, 1, kernel=(3, 3), pad=(1, 1), with_bias=False
      )
      z = IdentityForwardOnlyFunction()(y)
      w = F.identity(z)
  
      # If IdentityForwardOnlyFunction_backward is called in nn.grad, an error will occur.
      v = nn.grad(w, [z])
      v[0].forward()
  
imports: import sys
  import pytest
  import numpy
  import nnabla
  import nnabla.functions
  import nnabla.parametric_functions
  import nnabla.initializer
  from nnabla.ext_utils import get_extension_context
  from nbla_test_utils import list_context
  from nnabla.testing import assert_allclose
  from nnabla.function import PythonFunction
  from nnabla.backward_functions import registry, register
label_desc: Use image node_id 9 for calling a global function with example usage: test_nn_grad_propagate_down_check() without return types