Spaces:
Sleeping
Sleeping
File size: 1,545 Bytes
d46bde8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # evaluator.py
import numpy as np
def print_multi_seed_summary(results, num_seeds):
if not results:
return
strict_successes = [r for r in results if r['strict_success']]
loose_successes = [r for r in results if r['loose_success']]
strict_rate = len(strict_successes) / num_seeds * 100
loose_rate = len(loose_successes) / num_seeds * 100
avg_jumps_all = np.mean([r['jumps'] for r in results])
avg_time = np.mean([r['wall_time'] for r in results])
print("\n=== Multi-Seed Statistics Summary ===")
print(f"Strict success rate: {strict_rate:.2f}% ({len(strict_successes)}/{num_seeds})")
print(f"Loose success rate: {loose_rate:.2f}% ({len(loose_successes)}/{num_seeds})")
print(f"Jumps avg: {avg_jumps_all:.2f}")
print(f"Average wall time per seed: {avg_time:.1f}s")
if strict_successes:
print(f"\nAverages over strict successes:")
print(f" Geo dist: {np.mean([r['final_geo_dist'] for r in strict_successes]):.6f}")
print(f" Max B: {np.mean([r['max_inharm_b'] for r in strict_successes]):.8f}")
print(f" Speed std: {np.mean([r['speed_rel_std'] for r in strict_successes]):.6f}")
print(f" Damping RMSE: {np.mean([r['damping_rmse'] for r in strict_successes]):.4f}")
print(f" Freq RMSE: {np.mean([r['freq_rmse'] for r in strict_successes]):.4f}")
# print(f" Raw_lin_b: {np.mean([r['raw_lin_b'] for r in strict_successes]):.2f}")
# print(f" Raw_quad_b: {np.mean([r['raw_quad_b'] for r in strict_successes]):.2f}") |