holy fuking shit

This commit is contained in:
Horldsence
2026-09-12 01:56:34 +08:00
parent 36f354736c
commit d975309a81
83 changed files with 2748 additions and 896 deletions
+12 -6
View File
@@ -48,19 +48,22 @@ def main():
for p in sorted(Path('src/mcm26b').rglob('*.py'))}
if args.baseline:
for name in ('baseline_bayes.py', 'baseline_config.json'):
source_sha256[str(args.out/name)] = hashlib.sha256((args.out/name).read_bytes()).hexdigest()
archive = args.out/name
source_sha256[str(archive)] = hashlib.sha256(archive.read_bytes()).hexdigest()
scenes = []
if args.suite == 'development':
for count in (10, 16):
for seed in range(6):
scenes.append((f'random-{count}-{seed}', random_omni_scene(seed, count), 20260910 + seed))
scenes.append((f'random-{count}-{seed}', random_omni_scene(seed, count),
20260910 + seed))
edge = [Source(c+1, 1800*math.cos(math.pi/6+2*math.pi*c/count),
1800*math.sin(math.pi/6+2*math.pi*c/count), 1000) for c in range(count)]
scenes.append((f'boundary-{count}', edge, 20260910))
else:
for count in (10, 13, 16):
for seed in range(100, 106):
scenes.append((f'holdout-{count}-{seed}', random_omni_scene(seed, count), 20260910+seed))
scenes.append((f'holdout-{count}-{seed}', random_omni_scene(seed, count),
20260910+seed))
rows = []
for name, sources, error_seed in scenes:
sim = LocalSimulator(sources, robot_id='BENCH', config=config, error_seed=error_seed)
@@ -81,12 +84,15 @@ def main():
sources=[asdict(s) for s in sources], error_seed=error_seed,
summary=summary, actions=actions), ensure_ascii=False), encoding='utf-8')
print(f'{name}: valid={valid} T={row["virtual_s"]:.1f} M={row["measures"]}', flush=True)
result = dict(config=asdict(config), source='local_simulator_only', baseline=args.baseline, rows=rows,
mean_s=mean(r['virtual_s'] for r in rows), median_s=median(r['virtual_s'] for r in rows),
result = dict(config=asdict(config), source='local_simulator_only',
baseline=args.baseline, rows=rows,
mean_s=mean(r['virtual_s'] for r in rows),
median_s=median(r['virtual_s'] for r in rows),
max_s=max(r['virtual_s'] for r in rows), valid=sum(r['valid'] for r in rows),
under_4000=sum(r['virtual_s'] < 4000 for r in rows),
source_sha256=source_sha256)
(folder/'results.json').write_text(json.dumps(result, ensure_ascii=False, indent=2), encoding='utf-8')
(folder/'results.json').write_text(
json.dumps(result, ensure_ascii=False, indent=2), encoding='utf-8')
print({k:result[k] for k in ('mean_s','median_s','max_s','valid','under_4000')}, flush=True)