code: def call_func_function_node(self, backend_config, x1):
      forward_xp, backward_xp = _get_expected_xp(backend_config, False)
  
      class Func(chainer.FunctionNode):
          def forward(self, inputs):
              # Inputs
              (x1,) = inputs
              assert isinstance(x1, forward_xp.ndarray)
  
              y2 = x1 * 3 + 2
              self.retain_outputs((1, 2))
              return None, y2, None
  
          def backward(self, input_indexes, grad_outputs):
              # Input indexes
              assert isinstance(input_indexes, tuple)
              assert input_indexes == (0,)
  
              # Retained inputs
              retained_inputs = self.get_retained_inputs()
              assert isinstance(retained_inputs, tuple)
              assert retained_inputs == ()
  
              # Output grads
              assert isinstance(grad_outputs, tuple)
              gy1, gy2, gy3 = grad_outputs
              assert gy1 is None
              assert isinstance(gy2.array, backward_xp.ndarray)
              assert gy3 is None
  
              # Retained outputs
              retained_outputs = self.get_retained_outputs()
              assert isinstance(retained_outputs, tuple)
              y2, y3 = retained_outputs
              assert y3 is None
              assert isinstance(y2.array, backward_xp.ndarray)
  
              gx1 = 3 * gy2
              return (gx1,)
  
      return Func().apply((x1,))
  
imports: import unittest
  import numpy
  import chainer
  from chainer import testing
  import chainer.testing.backend
  import chainerx
label_desc: Use image node_id 2 for calling the TestFunctionOutputNone obj's underlying member method code with example usage: obj.call_func_function_node(backend_config, x1) and returns: Func, None,  y2,  None, gx1