This repository was archived by the owner on Nov 12, 2025. It is now read-only.
Conversation
… and automation for the EO-1 project (#5) (#6) * Add initial project structure with configuration files, datasets, and example scripts * Update .gitignore to include new demo data paths, modify pre-commit configuration to exclude additional directories, and enhance README with more examples and installation instructions. Adjust dataset handling in pipeline configuration and dataset classes for improved training flexibility. Remove deprecated demo scripts and refine evaluation scripts for clarity. * Update .gitignore to include demo data paths, enhance README with additional examples, and modify Libero benchmark configuration files for improved clarity and structure. Adjust training scripts and evaluation settings across various experiments for consistency. * Remove fast testing workflow configuration from GitHub Actions * Update pre-commit configuration to refine exclusions, enhance README with structured examples, and remove unused imports in the EO model script. Co-authored-by: dlqu_0010 <dlqu22@m.fudan.edu.cn>
…d in eo1-dev branch
…y and performance.
…rations for improved clarity, and adjust training scripts for consistency across experiments. Enhance README documentation for better guidance on dataset preparation and training processes.
…dit checks for improved security analysis.
…ure and functionality. Updated EO1VisionFlowMatchingConfig to inherit from PretrainedConfig, streamlined initialization, and added keys_to_ignore_at_inference. Enhanced EO1VisionProcessor to support new text processing capabilities and improved handling of robot inputs and outputs. Adjusted class names for consistency and clarity.
… with integration details for EO-1 with LERobot. Refactor dataset handling in MultimodaLeRobotDataset and adjust model architecture in EO1VisionFlowMatchingModel for improved functionality. Update training utilities for better configuration management and streamline processor methods for action selection.
Contributor
There was a problem hiding this comment.
Pull Request Overview
This pull request refactors the EO-1 model codebase to improve configuration simplification, rename processor classes from "OneVision" to "EO1Vision", and enhance the model architecture. The changes focus on consolidating configuration logic, improving processor functionality, and updating references throughout the codebase.
Key changes include:
- Simplified configuration structure by removing custom text config and inheriting directly from PretrainedConfig
- Renamed all processor classes and references from OneVision* to EO1Vision*
- Refactored model architecture to separate VLM backbone from flow matching components
Reviewed Changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/openloop.py | Updated processor imports and access patterns for robot configuration |
| scripts/train.py | Modified training script to use new processor class names and model architecture |
| scripts/test_vlm.py | Updated imports to use specific VLM model class |
| scripts/eval_policy.py | Commented out repo_id parameter in evaluation |
| scripts/chat_template.json | Changed template variable from add_noise_prompt to noise_prompt |
| experiments/8_vllmeval/vlm/model.py | Updated parameter name from torch_dtype to dtype |
| experiments/8_vllmeval/README.md | Added TODO comment for VLMEvalKit integration |
| experiments/3_simpler/simpler_env/eo/eo_model.py | Updated parameter name from torch_dtype to dtype |
| eo/train/trainer.py | Renamed trainer class from OneVisionTrainer to EO1VisionTrainer |
| eo/train/train_utils.py | Refactored functions to work with VLM backbone and added documentation |
| eo/model/processing_eo1.py | Major refactoring: renamed classes, improved normalization logic, and enhanced robot data handling |
| eo/model/modeling_qwen2_5_vl.py | Updated imports and fixed rope delta references |
| eo/model/modeling_eo1.py | Complete model architecture refactoring with new VLM backbone approach |
| eo/model/configuration_eo1.py | Simplified configuration by removing custom text config class |
| eo/data/lerobot_dataset.py | Removed unused chunk_size parameter |
| eo/data/dataset.py | Added safety check for missing datasets and commented out unused parameter |
| README.md | Updated Flash Attention recommendation and added LERobot integration note |
Comments suppressed due to low confidence (1)
eo/model/modeling_eo1.py:1
- The method call
model.sample_actions(**inputs)[0]assumes the method returns a tuple and takes the first element, but thesample_actionsmethod returns(x_t, outputs)wherex_tcontains the actions. This should be consistent with the return type.
# Copyright 2025 EO-Robotics Team. All rights reserved.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
EO-Robotics
previously approved these changes
Sep 20, 2025
EO-Robotics
approved these changes
Sep 20, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several improvements and refactorings to the EO-1 model codebase, focusing on configuration simplification, processor class renaming and enhancement, and improved handling of robot dataset and normalization logic. The changes also update documentation and improve integration with external projects.
Configuration and Model Refactoring:
EO1VisionFlowMatchingConfiginconfiguration_eo1.pyto inherit fromPretrainedConfig, removed the customEO1VisionVLTextConfigclass, and consolidated token ID handling and config initialization logic. This reduces complexity and aligns with Hugging Face conventions.modeling_qwen2_5_vl.pyto match the new configuration structure and fix references to rope deltas in the generation preparation logic. [1] [2] [3] [4] [5] [6] [7]Processor and Data Handling Improvements:
OneVision*toEO1Vision*inprocessing_eo1.py, and improved the processor's normalization logic to avoid side effects and ensure correct initialization. Also, enhanced token handling and noise token insertion logic. [1] [2] [3] [4] [5] [6] [7]Documentation and Integration Updates:
README.mdto recommend installing Flash Attention 3 for best performance and documented the integration of EO-1 with the LERobot project, making it easier for users to get started. [1] [2]These updates collectively improve maintainability, usability, and integration of the EO-1 codebase.