Views
No views yet
1from torch.utils.data import DataLoader
2import opencood.hypes_yaml.yaml_utils as yaml_utils
3from opencood.tools import train_utils
4from opencood.data_utils.datasets import build_dataset
5from opencood.utils.seg_utils import (
6 cal_iou_training,
7 cal_ece_brier_score,
8 cal_nll_brier_score
9)
10
11dataset = build_dataset(hypes, visualize=False, train=False)
12
13 loader = DataLoader(
14 dataset,
15 batch_size=1,
16 shuffle=False,
17 num_workers=args.num_workers,
18 collate_fn=dataset.collate_batch,
19 pin_memory=False,
20 drop_last=False
21 )
22
23 print("Loading model...")
24 model = train_utils.create_model(hypes)
25
26 device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
27 model.to(device)
28 print(model)
29
30 _, model = train_utils.load_saved_model(args.model_dir, model)
31 model.eval()
32
33 # ---------------- RICH PROGRESS ----------------
34 with torch.no_grad():
35 with Live(refresh_per_second=4, console=console) as live:
36 with Progress(
37 TextColumn("Inference"),
38 BarColumn(),
39 TextColumn("{task.completed}/{task.total}"),
40 TimeElapsedColumn(),
41 TimeRemainingColumn(),
42 ) as progress:
43
44 task = progress.add_task("run", total=total)
45
46 for i, batch_data in enumerate(loader):
47
48 batch_data = train_utils.to_device(batch_data, device)
49
50 model_out = model(batch_data['ego'])
51 post_output = dataset.post_process(batch_data['ego'], model_out)
52
53 # Segmentation Metric
54 iou_d, iou_s = cal_iou_training(batch_data, post_output)
55
56 ##### Uncertainty Metrics #########
57 ece, ece_eqp, _ = cal_ece_brier_score(batch_data, post_output)
58 nll, brier = cal_nll_brier_score(batch_data, post_output)
59
60 1@article{jagtap2026hyper,
2 title={Hyper-V2X: Hypernetworks for Estimating Epistemic and Aleatoric Uncertainty in Cooperative Bird's-Eye-View Semantic Segmentation},
3 author={Jagtap, Abhishek Dinkar and Sadashivaiah, Sanath Tiptur and Festag, Andreas},
4 journal={arXiv preprint arXiv:2605.21309},
5 year={2026}
6}