code: def shard(
      self,
      module: FusedEmbeddingBagCollection,
      params: Dict[str, ParameterSharding],
      env: ShardingEnv,
      device: Optional[torch.device] = None,
  ) -> ShardedEmbeddingBagCollection:
      return ShardedFusedEmbeddingBagCollection(
          module,
          params,
          env,
          device,
          qcomm_codecs_registry=self.qcomm_codecs_registry,
      )
  
file_path: torchrec/torchrec/distributed/fused_embeddingbag.py
imports: from typing import Dict, List, Optional, Type
  import torch
  from torch import nn
  from torch.nn.parallel import DistributedDataParallel
  from torchrec.distributed.embedding_types import BaseEmbeddingSharder, EmbeddingComputeKernel
  from torchrec.distributed.embeddingbag import ShardedEmbeddingBagCollection
  from torchrec.distributed.sharding.dp_sharding import DpPooledEmbeddingSharding
  from torchrec.distributed.types import ParameterSharding, QuantizedCommCodecs, ShardingEnv, ShardingType
  from torchrec.modules.fused_embedding_modules import convert_optimizer_type_and_kwargs, FusedEmbeddingBagCollection
label_desc: Use image node_id 1 for calling the FusedEmbeddingBagCollectionSharder obj's underlying member method code with example usage: obj.shard(module, params, env, device) and returns: ShardedFusedEmbeddingBagCollection