class_docstr: A ParameterClient that uses specific process groups for communications. Please
  see ShardedParameterServer docstring for more details. ShardedParameterClient is
  used only by ShardedPartitionClient.
class_docstr_tok: ["A","ParameterClient","that","uses","specific","process","groups","for","communications",".","Please","see","ShardedParameterServer","docstring","for","more","details",".","ShardedParameterClient","is","used","only","by","ShardedPartitionClient","."]
code: def __init__(
      self,
      server_rank: int,
      num_data_pgs: int,
      groups: Optional[List["td.ProcessGroup"]] = None,
      log_stats: bool = False,
  ) -> None:
      assert (
          groups is not None
      ), "groups cannot be None for ShardedParameterClient."
      self.num_data_pgs = num_data_pgs
      super().__init__(server_rank, groups=groups, log_stats=log_stats)
  
imports: import logging
  import multiprocessing
  import queue
  import time
  import traceback
  from functools import lru_cache
  from typing import Callable, Dict, List, Optional, Sequence
  import torch
  import torch.distributed
  import torch.multiprocessing
  from torchbiggraph.distributed import init_process_group, Startable
  from torchbiggraph.types import CharTensorType, Rank
  from torchbiggraph.util import allocate_shared_tensor, split_almost_equally, tag_logs_with_process_name
label_desc: Use image node_id 1 to create a new ShardedParameterClient object from inherited base classes: ParameterClient with example: obj = ShardedParameterClient(server_rank, num_data_pgs, groups, log_stats)