code: def _test_kjt_input_module(
      self,
      kjt_input_module: torch.nn.Module,
      kjt_keys: List[str],
      # pyre-ignore
      inputs,
      test_aot_inductor: bool = True,
  ) -> None:
      with dynamo_skipfiles_allow("torchrec"):
          EM: torch.nn.Module = KJTInputExportWrapper(
              kjt_input_module, kjt_keys
          )
          eager_output = EM(*inputs)
          x = torch._dynamo.export(EM, same_signature=True)(*inputs)
  
          export_gm = x.graph_module
          export_gm_output = export_gm(*inputs)
  
          assert_close(eager_output, export_gm_output)
  
          if test_aot_inductor:
              # pyre-ignore
              so_path: str = AOTIRunnerUtil.compile(
                  EM,
                  inputs,
              )
              device = "cuda"
              # pyre-ignore
              aot_inductor_module = AOTIRunnerUtil.load(device, so_path)
              aot_actual_output = aot_inductor_module(inputs)
              assert_close(eager_output, aot_actual_output)
  
imports: import sys
  import unittest
  from typing import List, Tuple
  import torch
  import torch._dynamo.skipfiles
  from fbgemm_gpu import sparse_ops
  from torch._export import dynamic_dim
  from torchrec.distributed.embedding_types import EmbeddingComputeKernel
  from torchrec.distributed.shard import _shard_modules
  from torchrec.distributed.test_utils.infer_utils import assert_close, create_test_model_ebc_only, dynamo_skipfiles_allow, KJTInputExportWrapper, prep_inputs, replace_registered_tbes_with_mock_tbes, replace_sharded_quant_modules_tbes_with_mock_tbes, TestQuantEBCSharder
  from torchrec.distributed.types import ShardingEnv, ShardingType
  from torchrec.sparse.jagged_tensor import ComputeKJTToJTDict, KeyedJaggedTensor
label_desc: Use image node_id 1 for calling the TestPt2 obj's underlying member method code with example usage: obj._test_kjt_input_module(kjt_input_module, kjt_keys, inputs, test_aot_inductor) without return types