code: def setUp(self) -> None:
      topology = Topology(world_size=2, compute_device="cuda")
      self.enumerator = EmbeddingEnumerator(
          topology=topology, batch_size=BATCH_SIZE
      )
      self.greedy_proposer = GreedyProposer()
      self.uniform_proposer = UniformProposer()
      self.grid_search_proposer = GridSearchProposer()
  
imports: import unittest
  from typing import cast, List, Optional
  from unittest.mock import MagicMock
  import torch
  from torchrec.distributed.embedding_types import EmbeddingComputeKernel
  from torchrec.distributed.embeddingbag import EmbeddingBagCollectionSharder
  from torchrec.distributed.planner.constants import BATCH_SIZE
  from torchrec.distributed.planner.enumerators import EmbeddingEnumerator
  from torchrec.distributed.planner.proposers import EmbeddingOffloadScaleupProposer, GreedyProposer, GridSearchProposer, proposers_to_proposals_list, UniformProposer
  from torchrec.distributed.planner.types import Enumerator, ParameterConstraints, Proposer, ShardingOption, Topology
  from torchrec.distributed.test_utils.test_model import TestSparseNN
  from torchrec.distributed.types import CacheParams, CacheStatistics, ModuleSharder, ShardingType
  from torchrec.modules.embedding_configs import EmbeddingBagConfig
label_desc: Use image node_id 1 for calling the TestProposers obj's underlying member method code with example usage: obj.setUp() without return types