code: def run_epoch(
      model: BaseModel, loader, device: str, num_batches: int
  ):
      model.eval()
      with Ctq(loader) as tq_loader:
          for batch_idx, data in enumerate(tq_loader):
              if batch_idx < num_batches:
                  process(model, data, device)
              else:
                  break
  
imports: import os
  import torch
  import hydra
  import logging
  import numpy
  from omegaconf import OmegaConf
  import pickle
  from torch_points3d.datasets.dataset_factory import instantiate_dataset
  from torch_points3d.models.model_factory import instantiate_model
  from torch_points3d.models.base_model import BaseModel
  from torch_points3d.datasets.base_dataset import BaseDataset
  from torch_points3d.metrics.base_tracker import BaseTracker
  from torch_points3d.metrics.colored_tqdm import Coloredtqdm
  from torch_points3d.metrics.model_checkpoint import ModelCheckpoint
  from torch_points3d.utils.colors import COLORS
  from torch_points3d.utils.config import determine_stage
  from torch_points3d.visualization import Visualizer
  from torch_points3d.utils.config import set_debugging_vars_to_global
  from torch_points3d.utils.debugging_vars import extract_histogram
label_desc: Use image node_id 2 for calling a global function with example usage: run_epoch(model, loader, device, num_batches) without return types