code: def __init__(
      self,
      module: FusedEmbeddingCollection,
      table_name_to_parameter_sharding: Dict[str, ParameterSharding],
      env: ShardingEnv,
      device: Optional[torch.device] = None,
  ) -> None:
      optimizer_type = module.optimizer_type()
      optimizer_kwargs = module.optimizer_kwargs()
  
      fused_params = {}
      emb_opt_type_and_kwargs = convert_optimizer_type_and_kwargs(
          optimizer_type, optimizer_kwargs
      )
      assert emb_opt_type_and_kwargs is not None
      (emb_optim_type, emb_opt_kwargs) = emb_opt_type_and_kwargs
  
      fused_params["optimizer"] = emb_optim_type
      fused_params.update(emb_opt_kwargs)
  
      super().__init__(
          # pyre-ignore
          module=module,
          table_name_to_parameter_sharding=table_name_to_parameter_sharding,
          fused_params=fused_params,
          env=env,
          device=device,
      )
  
      for index, (sharding, lookup) in enumerate(
          zip(self._sharding_type_to_sharding.values(), self._lookups)
      ):
          if isinstance(sharding, DpPooledEmbeddingSharding):
              self._lookups[index] = DistributedDataParallel(
                  module=lookup,
                  device_ids=[device],
                  process_group=env.process_group,
                  gradient_as_bucket_view=True,
                  broadcast_buffers=False,
                  static_graph=True,
              )
              self._lookups[index]._register_fused_optim(
                  optimizer_type, **optimizer_kwargs
              )
  
imports: from typing import Dict, Iterator, List, Optional, Type
  import torch
  from torch import nn
  from torch.nn.parallel import DistributedDataParallel
  from torchrec.distributed.embedding import ShardedEmbeddingCollection
  from torchrec.distributed.embedding_types import BaseEmbeddingSharder, EmbeddingComputeKernel
  from torchrec.distributed.sharding.dp_sharding import DpPooledEmbeddingSharding
  from torchrec.distributed.types import ParameterSharding, ShardingEnv, ShardingType
  from torchrec.distributed.utils import append_prefix
  from torchrec.modules.fused_embedding_modules import convert_optimizer_type_and_kwargs, FusedEmbeddingCollection
  from torchrec.optim.fused import FusedOptimizerModule
label_desc: Use image node_id 1 to create a new ShardedFusedEmbeddingCollection object from inherited base classes: ShardedEmbeddingCollection, FusedOptimizerModule with example: obj = ShardedFusedEmbeddingCollection(module, table_name_to_parameter_sharding, env, device)