matching those in "DistributedDataParallel", meaning that the
        "parameters_as_bucket_view" argument is ignored. If "False",
        "step()" runs disjointly after the backward pass (per normal).
        (default: "False")
  * ****defaults** -- any trailing arguments, which are forwarded
    to the local optimizer.

Example:
  >>> import torch.nn as nn
  >>> from torch.distributed.optim import ZeroRedundancyOptimizer
  >>> from torch.nn.parallel import DistributedDataParallel as DDP
  >>> model = nn.Sequential(*[nn.Linear(2000, 2000).to(rank) for _ in range(20)])
  >>> ddp = DDP(model, device_ids=[rank])
  >>> opt = ZeroRedundancyOptimizer(
  >>>     ddp.parameters(),
  >>>     optimizer_class=torch.optim.Adam,
  >>>     lr=0.01
  >>> )
  >>> ddp(inputs).sum().backward()
  >>> opt.step()

Warning:
 Currently, "ZeroRedundancyOptimizer" requires that all of the
 passed-in parameters are the same dense type.

Warning: