core/optim/optimizer library
Base class for parameter optimizers.
An optimizer owns references to the trainable Tensors of a model
and updates them in place via step using their accumulated grads.
It never participates in the autograd graph: updates are computed
with detached tensors (so no _backward closures are attached) and
then swapped into each parameter via Tensor.assign.