code: def forward_impl(self, inputs, outputs):
      inputs_fwd, outputs_fwd = self._create_fwd_inputs_outputs(
          inputs, outputs
      )
      dy = inputs[0].data
      dx_list = [outputs[i].data for i in range(len(self.xshapes))]
  
      vy = outputs_fwd[0]
      vx_list = inputs_fwd
  
      vy.grad = dy
      for dx, vx in zip(dx_list, vx_list):
          vx.grad = dx
      self._func.backward(
          inputs_fwd, outputs_fwd, [False] * len(self.xshapes)
      )
  
imports: import nnabla
  import nnabla.function
  import nnabla.functions
  from nnabla.function import PythonFunction
label_desc: Use image node_id 12 for calling the ConcatenateDataGrad obj's underlying member method code with example usage: obj.forward_impl(inputs, outputs) without return types