code: def __init__(
      self,
      tables: List[EmbeddingBagConfig],
      is_weighted: bool,
      device: torch.device,
      output_dtype: torch.dtype = torch.float,
      table_name_to_quantized_weights: Optional[
          Dict[str, Tuple[Tensor, Tensor]]
      ] = None,
      register_tbes: bool = False,
      quant_state_dict_split_scale_bias: bool = False,
      row_alignment: int = DEFAULT_ROW_ALIGNMENT,
      # feature processor is Optional only for the sake of the last position in constructor
      # Enforcing it to be non-None, for None case EmbeddingBagCollection must be used.
      feature_processor: Optional[FeatureProcessorsCollection] = None,
  ) -> None:
      super().__init__(
          tables,
          is_weighted,
          device,
          output_dtype,
          table_name_to_quantized_weights,
          register_tbes,
          quant_state_dict_split_scale_bias,
          row_alignment,
      )
      assert (
          feature_processor is not None
      ), "Use EmbeddingBagCollection for no feature_processor"
      self.feature_processor: FeatureProcessorsCollection = (
          feature_processor
      )
  
imports: import copy
  import itertools
  from collections import defaultdict
  from typing import Callable, cast, Dict, List, Optional, Tuple, Type, Union
  import torch
  import torch.nn
  from fbgemm_gpu.split_table_batched_embeddings_ops_inference import EmbeddingLocation, IntNBitTableBatchedEmbeddingBagsCodegen, PoolingMode
  from torch import Tensor
  from torchrec.distributed.utils import none_throws
  from torchrec.modules.embedding_configs import BaseEmbeddingConfig, DATA_TYPE_NUM_BITS, data_type_to_sparse_type, DataType, dtype_to_data_type, EmbeddingBagConfig, EmbeddingConfig, pooling_type_to_pooling_mode, PoolingType, QuantConfig
  from torchrec.modules.embedding_modules import EmbeddingBagCollection, EmbeddingBagCollectionInterface, EmbeddingCollection, EmbeddingCollectionInterface, get_embedding_names_by_table
  from torchrec.modules.feature_processor_ import FeatureProcessorsCollection
  from torchrec.modules.fp_embedding_modules import FeatureProcessedEmbeddingBagCollection
  from torchrec.sparse.jagged_tensor import JaggedTensor, KeyedJaggedTensor, KeyedTensor
  from torchrec.tensor_types import UInt2Tensor, UInt4Tensor
  from torchrec.types import ModuleNoCopyMixin
label_desc: Use image node_id 1 to create a new FeatureProcessedEmbeddingBagCollection object from inherited base classes: EmbeddingBagCollection with example: obj = FeatureProcessedEmbeddingBagCollection(tables, is_weighted, device, output_dtype, table_name_to_quantized_weights, register_tbes, quant_state_dict_split_scale_bias, row_alignment, feature_processor)