code: def __init__(
      self, pipeline_ranks: Union[List[int], Tuple[int]]
  ) -> None:
      assert (
          len(pipeline_ranks) > 1
      ), f"Expect len(pipeline_ranks) > 1, got {len(pipeline_ranks)}"
      self.pipeline_ranks = pipeline_ranks
      self.group = None
      self.ranks_in_group = None
      self._init_group()
  
file_path: ColossalAI/colossalai/legacy/nn/layer/wrapper/pipeline_wrapper.py
imports: from typing import List, Tuple, Union
  import torch.distributed
  import torch.nn
  from colossalai.legacy.context import ParallelMode
  from colossalai.legacy.core import global_context
label_desc: Use image node_id 1 to create a new PipelineSharedModuleWrapper object  with example: obj = PipelineSharedModuleWrapper(pipeline_ranks)