code: def __init__(
      self,
      ec_sharder: Optional[EmbeddingCollectionSharder] = None,
      mc_sharder: Optional[ManagedCollisionCollectionSharder] = None,
      qcomm_codecs_registry: Optional[
          Dict[str, QuantizedCommCodecs]
      ] = None,
  ) -> None:
      super().__init__(
          ec_sharder
          or EmbeddingCollectionSharder(
              qcomm_codecs_registry=qcomm_codecs_registry
          ),
          mc_sharder or ManagedCollisionCollectionSharder(),
          qcomm_codecs_registry=qcomm_codecs_registry,
      )
  
imports: from dataclasses import dataclass
  from typing import Dict, Optional, Type, Union
  import torch
  from torchrec.distributed.embedding import EmbeddingCollectionContext, EmbeddingCollectionSharder, ShardedEmbeddingCollection
  from torchrec.distributed.embedding_types import KJTList
  from torchrec.distributed.mc_embedding_modules import BaseManagedCollisionEmbeddingCollectionSharder, BaseShardedManagedCollisionEmbeddingCollection
  from torchrec.distributed.mc_modules import ManagedCollisionCollectionSharder
  from torchrec.distributed.types import ParameterSharding, QuantizedCommCodecs, ShardingEnv
  from torchrec.modules.mc_embedding_modules import ManagedCollisionEmbeddingCollection
label_desc: Use image node_id 1 to create a new ManagedCollisionEmbeddingCollectionSharder object from inherited base classes: BaseManagedCollisionEmbeddingCollectionSharder with example: obj = ManagedCollisionEmbeddingCollectionSharder(ec_sharder, mc_sharder, qcomm_codecs_registry)