code: def test_different_quantization_dtype_per_ebc_table(self) -> None:
      class TestModule(torch.nn.Module):
          def __init__(self, m: torch.nn.Module) -> None:
              super().__init__()
              self.m = m
  
      eb1_config = EmbeddingBagConfig(
          name="t1",
          embedding_dim=16,
          num_embeddings=10,
          feature_names=["f1"],
      )
      eb2_config = EmbeddingBagConfig(
          name="t2",
          embedding_dim=16,
          num_embeddings=10,
          feature_names=["f1"],
      )
      ebc = EmbeddingBagCollection(tables=[eb1_config, eb2_config])
      model = TestModule(ebc)
      trec_infer.modules.quantize_embeddings(
          model,
          dtype=torch.int8,
          inplace=True,
          per_table_weight_dtype={"t1": torch.float16},
      )
      configs = model.m.embedding_bag_configs()
      self.assertEqual(len(configs), 2)
      self.assertNotEqual(configs[0].name, configs[1].name)
      for config in configs:
          if config.name == "t1":
              self.assertEqual(config.data_type, DataType.FP16)
          else:
              self.assertEqual(config.name, "t2")
              self.assertEqual(config.data_type, DataType.INT8)
  
imports: import unittest
  from typing import Dict, List, Optional, Type
  import hypothesis.strategies
  import torch
  from hypothesis import given, settings, Verbosity
  from torchrec import inference
  from torchrec.modules.embedding_configs import DataType, EmbeddingBagConfig, EmbeddingConfig, QuantConfig
  from torchrec.modules.embedding_modules import EmbeddingBagCollection, EmbeddingCollection
  from torchrec.quant.embedding_modules import EmbeddingBagCollection, EmbeddingCollection, quant_prep_enable_quant_state_dict_split_scale_bias
  from torchrec.sparse.jagged_tensor import KeyedJaggedTensor, KeyedTensor
label_desc: Use image node_id 6 for calling the EmbeddingCollectionTest obj's underlying member method code with example usage: obj.test_different_quantization_dtype_per_ebc_table() without return types