torch.autograd.function.FunctionCtx.mark_dirty
FunctionCtx.mark_dirty(*args)
Marks given tensors as modified in an in-place operation.
This should be called at most once, only from inside the
   "forward()" method, and all arguments should be inputs.
Every tensor that's been modified in-place in a call to "forward()"
   should be given to this function, to ensure correctness of our
   checks. It doesn't matter whether the function is called before or
   after modification.
Examples::
      >>> class Inplace(Function):
      >>>     @staticmethod
      >>>     def forward(ctx, x):
      >>>         x_npy = x.numpy() # x_npy shares storage with x
      >>>         x_npy += 1
      >>>         ctx.mark_dirty(x)
      >>>         return x
      >>>
      >>>     @staticmethod
      >>>     @once_differentiable
      >>>     def backward(ctx, grad_output):
      >>>         return grad_output
      >>>