docstr: Resets the gradients of all optimized :class:`torch.Tensor` s.
  
  Args:
      set_to_none (bool): instead of setting to zero, set the grads to None.
          This will in general have lower memory footprint, and can modestly improve performance.
          However, it changes certain behaviors. For example:
          1. When the user tries to access a gradient and perform manual ops on it,
          a None attribute or a Tensor full of 0s will behave differently.
          2. If the user requests ``zero_grad(set_to_none=True)`` followed by a backward pass, ``.grad``\ s
          are guaranteed to be None for params that did not receive a gradient.
          3. ``torch.optim`` optimizers have a different behavior if the gradient is 0 or None
          (in one case it does the step with a gradient of 0 and in the other it skips
          the step altogether).
code: def zero_grad(self, set_to_none: bool = True):  # type: ignore[override]
      r"""Resets the gradients of all optimized :class:`torch.Tensor` s.
  
      Args:
          set_to_none (bool): instead of setting to zero, set the grads to None.
              This will in general have lower memory footprint, and can modestly improve performance.
              However, it changes certain behaviors. For example:
              1. When the user tries to access a gradient and perform manual ops on it,
              a None attribute or a Tensor full of 0s will behave differently.
              2. If the user requests ``zero_grad(set_to_none=True)`` followed by a backward pass, ``.grad``\ s
              are guaranteed to be None for params that did not receive a gradient.
              3. ``torch.optim`` optimizers have a different behavior if the gradient is 0 or None
              (in one case it does the step with a gradient of 0 and in the other it skips
              the step altogether).
      """
      self._optim.zero_grad(set_to_none)
  
file_path: pytorch/torch/distributed/_shard/sharded_optim/api.py
imports: from typing import List, Union, Mapping, Dict, Any
  import torch.optim
  from torch import Tensor
  from torch.distributed._shard.sharded_tensor import ShardedTensor
label_desc: Use image node_id 2 for calling the ShardedOptimizer obj's underlying member method code with example usage: obj.zero_grad(set_to_none) without return types