code: def get_fused_ebc_uvm_time(
      embedding_bag_configs: List[EmbeddingBagConfig],
      device: torch.device,
      location: EmbeddingLocation,
      epochs: int = 100,
  ) -> Tuple[float, float]:
      fused_ebc = FusedEmbeddingBagCollection(
          tables=embedding_bag_configs,
          optimizer_type=torch.optim.SGD,
          optimizer_kwargs={"lr": 0.02},
          device=device,
          location=location,
      )
  
      dataset = ebc_benchmarks_utils.get_random_dataset(
          batch_size=64,
          num_batches=10,
          num_dense_features=1024,
          embedding_bag_configs=embedding_bag_configs,
      )
  
      (
          fused_ebc_time_avg,
          fused_ebc_time_std,
      ) = ebc_benchmarks_utils.train(
          model=fused_ebc,
          optimizer=None,
          dataset=dataset,
          device=device,
          epochs=epochs,
      )
  
      return fused_ebc_time_avg, fused_ebc_time_std
  
file_path: torchrec/benchmarks/ebc_benchmarks.py
imports: import argparse
  import sys
  from typing import List, Tuple
  import torch
  from fbgemm_gpu.split_table_batched_embeddings_ops_training import EmbeddingLocation
  from torchrec.github.benchmarks import ebc_benchmarks_utils
  from torchrec.modules.embedding_configs import EmbeddingBagConfig
  from torchrec.modules.embedding_modules import EmbeddingBagCollection
  from torchrec.modules.fused_embedding_modules import FusedEmbeddingBagCollection
label_desc: Use image node_id 3 for calling a global function with example usage: get_fused_ebc_uvm_time(embedding_bag_configs, device, location, epochs) and returns: fused_ebc_time_avg,  fused_ebc_time_std