class_docstr: Wrapper object that creates a thread, that pulls parameters and pushes
  gradients, in a loop.
class_docstr_tok: ["Wrapper","object","that","creates","a","thread",",","that","pulls","parameters","and","pushes","gradients",",","in","a","loop","."]
code: def set_param(self, k: str, v: torch.Tensor) -> None:
      self.check()
      self.q.put(("params", (k, v)))
  
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 2 for calling the ParameterSharer obj's underlying member method code with example usage: obj.set_param(k, v) without return types