mirror of
https://github.com/huggingface/lerobot.git
synced 2026-05-24 04:59:47 +00:00
Refactor observation processing and improve modularity
- Updated `ObservationProcessor` to enhance the modular design for processing observations. - Cleaned up imports and improved code readability by removing unnecessary lines and comments. - Ensured backward compatibility while integrating new processing components. - Added tests to validate the functionality of the updated processing architecture.
This commit is contained in:
@@ -260,35 +260,6 @@ def test_no_states_in_observation():
|
|||||||
assert processed_obs == observation
|
assert processed_obs == observation
|
||||||
|
|
||||||
|
|
||||||
def test_none_observation():
|
|
||||||
"""Test processor with None observation."""
|
|
||||||
processor = StateProcessor()
|
|
||||||
|
|
||||||
transition = (None, None, None, None, None, None, None)
|
|
||||||
result = processor(transition)
|
|
||||||
|
|
||||||
assert result == transition
|
|
||||||
|
|
||||||
|
|
||||||
def test_serialization_methods():
|
|
||||||
"""Test serialization methods."""
|
|
||||||
processor = StateProcessor()
|
|
||||||
|
|
||||||
# Test get_config
|
|
||||||
config = processor.get_config()
|
|
||||||
assert isinstance(config, dict)
|
|
||||||
|
|
||||||
# Test state_dict
|
|
||||||
state = processor.state_dict()
|
|
||||||
assert isinstance(state, dict)
|
|
||||||
|
|
||||||
# Test load_state_dict (should not raise)
|
|
||||||
processor.load_state_dict(state)
|
|
||||||
|
|
||||||
# Test reset (should not raise)
|
|
||||||
processor.reset()
|
|
||||||
|
|
||||||
|
|
||||||
def test_complete_observation_processing():
|
def test_complete_observation_processing():
|
||||||
"""Test processing a complete observation with both images and states."""
|
"""Test processing a complete observation with both images and states."""
|
||||||
processor = ObservationProcessor()
|
processor = ObservationProcessor()
|
||||||
|
|||||||
@@ -45,10 +45,7 @@ class MockStep:
|
|||||||
"""Add a counter to the complementary_data."""
|
"""Add a counter to the complementary_data."""
|
||||||
obs, action, reward, done, truncated, info, comp_data = transition
|
obs, action, reward, done, truncated, info, comp_data = transition
|
||||||
|
|
||||||
if comp_data is None:
|
comp_data = {} if comp_data is None else dict(comp_data) # Make a copy
|
||||||
comp_data = {}
|
|
||||||
else:
|
|
||||||
comp_data = dict(comp_data) # Make a copy
|
|
||||||
|
|
||||||
comp_data[f"{self.name}_counter"] = self.counter
|
comp_data[f"{self.name}_counter"] = self.counter
|
||||||
self.counter += 1
|
self.counter += 1
|
||||||
|
|||||||
Reference in New Issue
Block a user