code: def __init__(self, use_depth: bool = True) -> None:
      self.use_depth: bool = use_depth
      self.enumerator: Optional[Enumerator] = None
      self.starting_proposal: List[ShardingOption] = []
      self.proposal: Optional[List[ShardingOption]] = None
      self.search: Optional[BinarySearchPredicate] = None
      self.previous_plan_perf_rating: float = 0.0
  
imports: import copy
  import itertools
  import logging
  from decimal import Decimal
  from typing import cast, Dict, List, Optional, Set, Tuple, Union
  import torch
  from torchrec.distributed.embedding_types import EmbeddingComputeKernel
  from torchrec.distributed.planner.types import Enumerator, Perf, Proposer, ShardingOption, Topology
  from torchrec.distributed.planner.utils import BinarySearchPredicate, bytes_to_gb, prod
label_desc: Use image node_id 1 to create a new EmbeddingOffloadScaleupProposer object from inherited base classes: Proposer with example: obj = EmbeddingOffloadScaleupProposer(use_depth)