will be saved for re-running the segment in the backward pass.
See "checkpoint()" on how checkpointing works.
Warning:
 Checkpointing currently only supports "torch.autograd.backward()"
 and only if its *inputs* argument is not passed.
 "torch.autograd.grad()" is not supported.

Parameters:
      * functions -- A "torch.nn.Sequential" or the list of
        modules or functions (comprising the model) to run
        sequentially.
  * **segments** -- Number of chunks to create in the model

  * **input** -- A Tensor that is input to "functions"

  * **preserve_rng_state** (*bool**, **optional*) -- Omit stashing
    and restoring the RNG state during each checkpoint. Default:
    "True"

  * **use_reentrant** (*bool**, **optional*) -- Use checkpointing
    implementation that requires re-entrant autograd. If
    "use_reentrant=False" is specified, "checkpoint" will use an
    implementation that does not require re-entrant autograd. This
