class_docstr: Input is the dy and output is the dx.
  Use the function.backward in the forward_impl.
  Use the function.forward in the backward_impl.
class_docstr_tok: ["Input","is","the","dy","and","output","is","the","dx",".","Use","the","function.backward","in","the","forward_impl",".","Use","the","function.forward","in","the","backward_impl","."]
code: def backward_impl(self, inputs, outputs, propagate_down, accum):
      if not propagate_down[0]:
          return
  
      gdy = inputs[0].grad
      gdx = outputs[0].grad
  
      inputs_fwd, outputs_fwd = self._create_fwd_inputs_outputs(
          inputs, outputs
      )
      vx = inputs_fwd[0]
      vy = outputs_fwd[0]
  
      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
  from nnabla.function import PythonFunction
label_desc: Use image node_id 13 for calling the UnaryDataGrad obj's underlying member method code with example usage: obj.backward_impl(inputs, outputs, propagate_down, accum) without return types