code: def _fresh_grad(self):
          
          out = ctypes.c_int()
          check_call(_LIB.MXNDArrayGetGradState(self.handle, ctypes.byref(out)))
          return out.value
docs: Whether this array's corresponding gradient array
          (registered via `autograd.mark_variables`) has been
          updated by `autograd.backward` since last reset.
  
          `_fresh_grad` need to be manually set to False
          after consuming gradient (usually after updating this
          array).