code: def __init__(
      self,
      ebc_sharder: Optional[EmbeddingBagCollectionSharder] = None,
      qcomm_codecs_registry: Optional[
          Dict[str, QuantizedCommCodecs]
      ] = None,
  ) -> None:
      super().__init__(qcomm_codecs_registry=qcomm_codecs_registry)
      self._ebc_sharder: EmbeddingBagCollectionSharder = (
          ebc_sharder
          or EmbeddingBagCollectionSharder(self.qcomm_codecs_registry)
      )
  
imports: from functools import partial
  from typing import Any, Dict, Iterator, List, Optional, Type, Union
  import torch
  from torch import nn
  from torchrec.distributed.embedding_types import BaseEmbeddingSharder, KJTList, ShardedEmbeddingModule
  from torchrec.distributed.embeddingbag import EmbeddingBagCollectionContext, EmbeddingBagCollectionSharder, ShardedEmbeddingBagCollection
  from torchrec.distributed.types import Awaitable, LazyAwaitable, ParameterSharding, QuantizedCommCodecs, ShardingEnv, ShardingType
  from torchrec.distributed.utils import append_prefix, init_parameters
  from torchrec.modules.feature_processor_ import FeatureProcessorsCollection
  from torchrec.modules.fp_embedding_modules import apply_feature_processors_to_kjt, FeatureProcessedEmbeddingBagCollection
  from torchrec.sparse.jagged_tensor import KeyedJaggedTensor, KeyedTensor
label_desc: Use image node_id 1 to create a new FeatureProcessedEmbeddingBagCollectionSharder object from inherited base classes: BaseEmbeddingSharder with example: obj = FeatureProcessedEmbeddingBagCollectionSharder(ebc_sharder, qcomm_codecs_registry)