anhtld commited on
Commit
d9fe268
·
verified ·
1 Parent(s): 954e055

auto-sync 2026-07-02T15:44:03Z workspace (part 4)

Browse files
workspace/tests/test_maniskill_policy_rollout.py CHANGED
@@ -1236,6 +1236,32 @@ def test_retrieval_residual_candidate_type_bonus_repeats_over_scale_grid() -> No
1236
  assert index.tolist() == [1]
1237
 
1238
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1239
  def test_retrieval_residual_action_l2_penalty_prefers_shorter_tangent() -> None:
1240
  import torch
1241
 
 
1236
  assert index.tolist() == [1]
1237
 
1238
 
1239
+ def test_retrieval_residual_scale_bonus_selects_scaled_tangent() -> None:
1240
+ import torch
1241
+
1242
+ mean = torch.zeros(1, 1, 1)
1243
+ residual = torch.ones_like(mean)
1244
+ model = _StubModel(torch, mean, best_offset=torch.zeros_like(mean))
1245
+ residuals = residual.unsqueeze(1)
1246
+ actions, index = _select_action_chunk(
1247
+ model,
1248
+ observations=torch.zeros(1, 3),
1249
+ instructions=["a"],
1250
+ torch=torch,
1251
+ selection_mode="retrieval_residual",
1252
+ num_candidates=1,
1253
+ candidate_sigma=0.0,
1254
+ selection_seed=0,
1255
+ action_candidates=residuals,
1256
+ retrieval_residual_scale=1.0,
1257
+ retrieval_residual_scales=(0.25, 0.5),
1258
+ residual_scale_bonuses={"0.5": 2.0},
1259
+ )
1260
+
1261
+ assert torch.allclose(actions, mean + 0.5 * residual)
1262
+ assert index.tolist() == [1]
1263
+
1264
+
1265
  def test_retrieval_residual_action_l2_penalty_prefers_shorter_tangent() -> None:
1266
  import torch
1267
 
workspace/tests/test_oracle_selector_calibration.py CHANGED
@@ -17,6 +17,7 @@ def test_build_oracle_selector_calibration_from_branch_scores(tmp_path) -> None:
17
  "candidate_oracle_branch_progress": [0.2, 0.8],
18
  "candidate_oracle_branch_successes": [False, False],
19
  "candidate_oracle_types": ["policy", "residual_good"],
 
20
  "candidate_oracle_valid_mask": [True, True],
21
  },
22
  {
@@ -25,6 +26,7 @@ def test_build_oracle_selector_calibration_from_branch_scores(tmp_path) -> None:
25
  "candidate_oracle_branch_progress": [0.4, 0.6],
26
  "candidate_oracle_branch_successes": [False, False],
27
  "candidate_oracle_types": ["policy", "residual_good"],
 
28
  "candidate_oracle_valid_mask": [True, True],
29
  },
30
  {
@@ -33,6 +35,7 @@ def test_build_oracle_selector_calibration_from_branch_scores(tmp_path) -> None:
33
  "candidate_oracle_branch_progress": [0.9, 0.1],
34
  "candidate_oracle_branch_successes": [False, False],
35
  "candidate_oracle_types": ["policy", "residual_bad"],
 
36
  "candidate_oracle_valid_mask": [True, True],
37
  },
38
  ]
@@ -46,15 +49,19 @@ def test_build_oracle_selector_calibration_from_branch_scores(tmp_path) -> None:
46
  max_rank=2,
47
  rank_scale=0.1,
48
  type_scale=0.1,
 
49
  min_count=1,
50
  max_abs_rank_bias=None,
51
  max_abs_type_bonus=None,
 
52
  )
53
 
54
  pick_rank_biases = result["field_rank_biases_by_task"]["PickCube-v1"]
55
  stack_rank_biases = result["field_rank_biases_by_task"]["StackCube-v1"]
56
  pick_type_bonuses = result["candidate_type_bonuses_by_task"]["PickCube-v1"]
57
  stack_type_bonuses = result["candidate_type_bonuses_by_task"]["StackCube-v1"]
 
 
58
 
59
  assert pick_rank_biases[0] == 0.0
60
  assert abs(pick_rank_biases[1] - 0.04) < 1e-12
@@ -62,3 +69,5 @@ def test_build_oracle_selector_calibration_from_branch_scores(tmp_path) -> None:
62
  assert abs(stack_rank_biases[1] + 0.08) < 1e-12
63
  assert pick_type_bonuses["residual_good"] > pick_type_bonuses["policy"]
64
  assert stack_type_bonuses["residual_bad"] < stack_type_bonuses["policy"]
 
 
 
17
  "candidate_oracle_branch_progress": [0.2, 0.8],
18
  "candidate_oracle_branch_successes": [False, False],
19
  "candidate_oracle_types": ["policy", "residual_good"],
20
+ "candidate_oracle_residual_scales": [0.25, 0.5],
21
  "candidate_oracle_valid_mask": [True, True],
22
  },
23
  {
 
26
  "candidate_oracle_branch_progress": [0.4, 0.6],
27
  "candidate_oracle_branch_successes": [False, False],
28
  "candidate_oracle_types": ["policy", "residual_good"],
29
+ "candidate_oracle_residual_scales": [0.25, 0.5],
30
  "candidate_oracle_valid_mask": [True, True],
31
  },
32
  {
 
35
  "candidate_oracle_branch_progress": [0.9, 0.1],
36
  "candidate_oracle_branch_successes": [False, False],
37
  "candidate_oracle_types": ["policy", "residual_bad"],
38
+ "candidate_oracle_residual_scales": [0.25, 0.5],
39
  "candidate_oracle_valid_mask": [True, True],
40
  },
41
  ]
 
49
  max_rank=2,
50
  rank_scale=0.1,
51
  type_scale=0.1,
52
+ scale_scale=0.1,
53
  min_count=1,
54
  max_abs_rank_bias=None,
55
  max_abs_type_bonus=None,
56
+ max_abs_scale_bonus=None,
57
  )
58
 
59
  pick_rank_biases = result["field_rank_biases_by_task"]["PickCube-v1"]
60
  stack_rank_biases = result["field_rank_biases_by_task"]["StackCube-v1"]
61
  pick_type_bonuses = result["candidate_type_bonuses_by_task"]["PickCube-v1"]
62
  stack_type_bonuses = result["candidate_type_bonuses_by_task"]["StackCube-v1"]
63
+ pick_scale_bonuses = result["residual_scale_bonuses_by_task"]["PickCube-v1"]
64
+ stack_scale_bonuses = result["residual_scale_bonuses_by_task"]["StackCube-v1"]
65
 
66
  assert pick_rank_biases[0] == 0.0
67
  assert abs(pick_rank_biases[1] - 0.04) < 1e-12
 
69
  assert abs(stack_rank_biases[1] + 0.08) < 1e-12
70
  assert pick_type_bonuses["residual_good"] > pick_type_bonuses["policy"]
71
  assert stack_type_bonuses["residual_bad"] < stack_type_bonuses["policy"]
72
+ assert pick_scale_bonuses["0.5"] > pick_scale_bonuses["0.25"]
73
+ assert stack_scale_bonuses["0.5"] < stack_scale_bonuses["0.25"]