use a single molmoact2 action queue

This commit is contained in:
hq-fang
2026-05-19 22:00:28 +00:00
parent 2a0495f8c3
commit 738ba9272f
2 changed files with 37 additions and 15 deletions
@@ -17,6 +17,7 @@
from __future__ import annotations
import json
from collections import deque
from types import SimpleNamespace
import numpy as np
@@ -621,6 +622,34 @@ def test_rtc_processor_initialization_and_select_action_guard():
policy.select_action({})
def test_select_action_uses_single_full_batch_queue():
policy = object.__new__(MolmoAct2Policy)
torch.nn.Module.__init__(policy)
policy.config = SimpleNamespace(rtc_config=None, n_action_steps=2)
policy._action_queue = deque(maxlen=2)
calls = 0
def predict_action_chunk(batch, **kwargs):
nonlocal calls
del batch, kwargs
calls += 1
return torch.tensor(
[
[[1.0], [2.0]],
[[3.0], [4.0]],
]
)
policy.predict_action_chunk = predict_action_chunk
first = policy.select_action({})
second = policy.select_action({})
assert calls == 1
assert torch.equal(first, torch.tensor([[1.0], [3.0]]))
assert torch.equal(second, torch.tensor([[2.0], [4.0]]))
def test_inference_action_mode_is_explicit_and_has_no_action_mode_alias():
policy = object.__new__(MolmoAct2Policy)
torch.nn.Module.__init__(policy)