class_docstr: PS StrategyBuilder with Greedy Load Balancing.
  
  The Load Balancing is determined by total memory
  usage for storing variables, i.e. we always assign
  a variable to the current lowest-memory-usage
  Parameter Server.
code: def __init__(
      self, local_proxy_variable=False, sync=True, staleness=0
  ):
      self._local_proxy_variable = local_proxy_variable
      self._sync = sync
      self._staleness = staleness
      if self._staleness > 0:
          assert (
              self._sync
          ), "If staleness is positive, sync has to be set true."
      self.loads = {}
      super().__init__()
  
file_path: autodist/autodist/strategy/ps_lb_strategy.py
imports: from tensorflow.python.framework import tensor_shape
  from autodist.strategy.base import Strategy, StrategyBuilder
  from autodist.proto import strategy_pb2
label_desc: Use image node_id 1 to create a new PSLoadBalancing object from inherited base classes: StrategyBuilder with example: obj = PSLoadBalancing(local_proxy_variable, sync, staleness)