LayerInteractions / tests /test_result.py
Angshul's picture
Upload 6 files
7ee20db verified
Raw History Blame Contribute Delete
1.06 kB
from layer_interactions.result import Order2Result
def test_interactions_and_selection():
# D0 = 1.0. First-order deletion costs: [0.1, 0.2, 0.05]
# Pair (0,2) has a positive interaction of +0.3, so after deleting 2,
# deleting 1 is cheaper than deleting 0.
r = Order2Result(
depth=3,
baseline_nll=1.0,
single_nll={0: 1.1, 1: 1.2, 2: 1.05},
pair_nll={
(0, 1): 1.3,
(0, 2): 1.45,
(1, 2): 1.25,
},
)
r.build_interactions().build_greedy_path(max_delete=2)
assert r.delete_order == [2, 1]
assert r.select(1)["retained_layers"] == [0]
def test_roundtrip_dict():
r = Order2Result(
depth=2,
baseline_nll=1.0,
single_nll={0: 1.1, 1: 1.2},
pair_nll={(0, 1): 1.35},
).build_interactions().build_greedy_path(max_delete=1)
rr = Order2Result.from_dict(r.to_dict())
assert rr.depth == 2
assert rr.single_nll == r.single_nll
assert rr.pair_nll == r.pair_nll
assert rr.delete_order == r.delete_order