File size: 1,277 Bytes
c3ed182 | 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 | """Tests for Synthetic Failure Generation & Repair Hypernetwork Benchmarks."""
import pytest
from synapse.hypernetwork_trainer import SyntheticFailureGenerator, HypernetworkRepairBenchmark
def test_synthetic_failure_generator():
gen = SyntheticFailureGenerator(seed=42)
cases = gen.generate_failure_cases(count=20)
assert len(cases) == 20
for c in cases:
assert c.category in ['deleted_synapses', 'disrupted_motor', 'degraded_memory', 'corrupted_sensory']
assert 0.0 <= c.damaged_perf <= c.pre_damage_perf
def test_hypernetwork_repair_benchmark():
gen = SyntheticFailureGenerator(seed=42)
cases = gen.generate_failure_cases(count=20)
benchmark = HypernetworkRepairBenchmark(seed=42)
train_res = benchmark.train_hypernetwork(cases[:15], epochs=1)
assert 'initial_loss' in train_res
assert 'final_loss' in train_res
res = benchmark.run_comprehensive_benchmark(cases[15:])
assert res['test_cases_evaluated'] == 5
assert 'hypernetwork' in res['benchmark_comparison']
assert 'random_search' in res['benchmark_comparison']
assert 'gradient_finetuning' in res['benchmark_comparison']
assert 'heuristic_repair' in res['benchmark_comparison']
assert res['hypernetwork_speedup_vs_gradient'] > 1.0
|