code: def backward_impl(self, inputs, outputs, propagate_down, accum):
      if not propagate_down[0]:
          return
  
      gdy = inputs[0].grad
      gdx_list = [output.grad for output in outputs]
  
      inputs_fwd, outputs_fwd = self._create_fwd_inputs_outputs(
          inputs, outputs
      )
      vx_list = inputs_fwd
      vy = outputs_fwd[0]
  
      for gdx, vx in zip(gdx_list, vx_list):
          vx.data = gdx
      if accum[0]:
          self._func.forward(inputs_fwd, outputs_fwd)
          gdy += vy.data
      else:
          vy.data = gdy
          self._func.forward(inputs_fwd, outputs_fwd)
  
imports: import nnabla
  import nnabla.function
  import nnabla.functions
  from nnabla.function import PythonFunction
label_desc: Use image node_id 13 for calling the ConcatenateDataGrad obj's underlying member method code with example usage: obj.backward_impl(inputs, outputs, propagate_down, accum) without return types