class_docstr: A parameter that is initialized from a list of parameters and can be
  turned into a list of views as needed.
class_docstr_tok: ["A","parameter","that","is","initialized","from","a","list","of","parameters","and","can","be","turned","into","a","list","of","views","as","needed","."]
docstr: Support pickling between ranks.
docstr_tok: ["Support","pickling","between","ranks","."]
code: def __reduce_ex__(self, proto: int) -> Tuple[Any, Any, Any]:
      """Support pickling between ranks."""
      return (
          FlatParameter,  # Callable
          # Args to the callable above
          ([self.data], self.requires_grad),
          # Args to __setstate__
          (
              self._param_numels,
              self._param_shapes,
              self._param_infos,
              self._shared_param_infos,
          ),
      )
  
imports: from contextlib import contextmanager
  from itertools import chain
  import typing
  from typing import TYPE_CHECKING, Any, Dict, Generator, Iterator, List, Mapping, NamedTuple, Optional, Sequence, Set, Tuple, Union, cast
  import torch
  from torch import Tensor
  import torch.nn
  from fairscale.internal.state_dict import replace_by_prefix_
label_desc: Use image node_id 6 for calling the FlatParameter obj's underlying member method code with example usage: obj.__reduce_ex__(proto) and returns: FlatParameter,  list,  self,  self,  self,  self,  self