unscaled  automatically during "step()".
  Simple example, using "unscale_()" to enable clipping of
  unscaled gradients:

     ...
     scaler.scale(loss).backward()
     scaler.unscale_(optimizer)
     torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm)
     scaler.step(optimizer)
     scaler.update()

  Parameters:
     **optimizer** (*torch.optim.Optimizer*) -- Optimizer that
     owns the gradients to be unscaled.

  Note:

    "unscale_()" does not incur a CPU-GPU sync.

  Warning:

    "unscale_()" should only be called once per optimizer per
    "step()" call, and only after all gradients for that
    optimizer's assigned parameters have been accumulated. Calling
    "unscale_()" twice for a given optimizer between each "step()"
    triggers a RuntimeError.

  Warning:

    "unscale_()" may unscale sparse gradients out of place,
    replacing the ".grad" attribute.

update(new_scale=None)