close the RECAP critic-policy loop

This commit is contained in:
seeker
2026-07-12 19:33:15 +08:00
parent 53ef020b46
commit bd88a46b23
13 changed files with 780 additions and 314 deletions
+22
View File
@@ -37,6 +37,28 @@ def test_omitted_advantage_is_absent_not_a_third_condition_token() -> None:
assert tokenizer.ADVANTAGE_NEGATIVE not in sequence.input_ids
def test_value_input_does_not_encode_experience_outcome() -> None:
tokenizer = MiniTokenizer()
history = torch.zeros(8, 2)
value_input = tokenizer.build_value_input(history)
assert tokenizer.METADATA_DEMO not in value_input
assert tokenizer.METADATA_UNDERSTEER not in value_input
assert tokenizer.METADATA_STOP not in value_input
assert tokenizer.METADATA_INTERVENTION not in value_input
def test_predicted_subtask_can_be_connected_to_action_condition() -> None:
tokenizer = MiniTokenizer()
history = torch.zeros(8, 2)
predicted = tokenizer.subtasks.encode("steer_left")
condition = tokenizer.build_action_condition(history, predicted, "positive")
assert condition[-2].item() == predicted
assert condition[-1].item() == tokenizer.ADVANTAGE_POSITIVE
assert tokenizer.ACTION_START not in condition
def test_labels_predict_subtask_and_fast_but_not_external_advantage() -> None:
tokenizer = MiniTokenizer()
positive = tokenizer.build_policy_sequence(