code: def get_prev_pp_rank(self) -> int:
      prev_pp_rank = self._pp_rank - 1
      if not self.check_pp_rank_valid(prev_pp_rank):
          assert ValueError(
              f"current rank's pp_rank: {self._pp_rank} doesn't have a previous stage!"
          )
      return prev_pp_rank
  
imports: import threading
  from typing import List
  import torch.distributed
  from torch.distributed import rpc
  from colossalai.legacy.tensor import ProcessGroup
label_desc: Use image node_id 17 for calling the PipelineProcessGroup obj's underlying member method code with example usage: obj.get_prev_pp_rank() and returns: prev_pp_rank