(args)
| 35 | |
| 36 | @torch.no_grad() |
| 37 | def main(args): |
| 38 | config = Config("train", binary=True, only_det=True) |
| 39 | config_global = ConfigGlobal("train", binary=True, only_det=True) |
| 40 | |
| 41 | need_log = args.log |
| 42 | num_workers = args.nworker |
| 43 | apply_late_fusion = args.apply_late_fusion |
| 44 | pose_noise = args.pose_noise |
| 45 | compress_level = args.compress_level |
| 46 | only_v2i = args.only_v2i |
| 47 | |
| 48 | # Specify gpu device |
| 49 | device = torch.device("cuda" if torch.cuda.is_available() else "cpu") |
| 50 | device_num = torch.cuda.device_count() |
| 51 | print("device number", device_num) |
| 52 | |
| 53 | config.inference = args.inference |
| 54 | if args.bound == "upperbound": |
| 55 | flag = "upperbound" |
| 56 | else: |
| 57 | if args.com == "when2com": |
| 58 | flag = "when2com" |
| 59 | if args.inference == "argmax_test": |
| 60 | flag = "who2com" |
| 61 | if args.warp_flag: |
| 62 | flag = flag + "_warp" |
| 63 | elif args.com in {"v2v", "disco", "sum", "mean", "max", "cat", "agent", "ind_mae", "joint_mae", "late", "vqvae"}: |
| 64 | flag = args.com |
| 65 | else: |
| 66 | flag = "lowerbound" |
| 67 | if args.box_com: |
| 68 | flag += "_box_com" |
| 69 | |
| 70 | print("flag", flag) |
| 71 | config.flag = flag |
| 72 | config.split = "test" |
| 73 | |
| 74 | num_agent = args.num_agent |
| 75 | # agent0 is the cross road |
| 76 | agent_idx_range = range(1, num_agent) if args.no_cross_road else range(num_agent) |
| 77 | validation_dataset = MultiTempV2XSimDet( |
| 78 | dataset_roots=[f"{args.data}/agent{i}" for i in agent_idx_range], |
| 79 | config=config, |
| 80 | config_global=config_global, |
| 81 | split="val", |
| 82 | val=True, |
| 83 | bound="both", |
| 84 | kd_flag=args.kd_flag, |
| 85 | no_cross_road=args.no_cross_road, |
| 86 | time_stamp= args.time_stamp |
| 87 | ) |
| 88 | validation_data_loader = DataLoader( |
| 89 | validation_dataset, batch_size=1, shuffle=False, num_workers=num_workers |
| 90 | ) |
| 91 | print("Validation dataset size:", len(validation_dataset)) |
| 92 | |
| 93 | if args.no_cross_road: |
| 94 | num_agent -= 1 |
no test coverage detected