Skip to content
This repository was archived by the owner on Nov 12, 2025. It is now read-only.

Qwen 2.5 VL Dependency Decoupling and EO-1 Codebase Simplification#16

Merged
DelinQu merged 14 commits intomainfrom
eo1-dev
Sep 20, 2025
Merged

Qwen 2.5 VL Dependency Decoupling and EO-1 Codebase Simplification#16
DelinQu merged 14 commits intomainfrom
eo1-dev

Conversation

@DelinQu
Copy link
Collaborator

@DelinQu DelinQu commented Sep 20, 2025

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:

  • Simplified EO1VisionFlowMatchingConfig in configuration_eo1.py to inherit from PretrainedConfig, removed the custom EO1VisionVLTextConfig class, and consolidated token ID handling and config initialization logic. This reduces complexity and aligns with Hugging Face conventions.
  • Updated imports and minor logic in modeling_qwen2_5_vl.py to 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:

  • Renamed processor classes and related type hints from OneVision* to EO1Vision* in processing_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]
  • Updated dataset logic to remove unused or redundant arguments and ensure safer handling when datasets are missing, improving robustness. [1] [2] [3]

Documentation and Integration Updates:

  • Updated the README.md to 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.

EO-Robotics and others added 13 commits September 11, 2025 19:19
… 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>
…rations for improved clarity, and adjust training scripts for consistency across experiments. Enhance README documentation for better guidance on dataset preparation and training processes.
…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.
Copilot AI review requested due to automatic review settings September 20, 2025 04:49
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 the sample_actions method returns (x_t, outputs) where x_t contains 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.

@DelinQu DelinQu changed the title Eo1 dev Qwen 2.5 VL Dependency Decoupling and EO-1 Codebase Simplification Sep 20, 2025
EO-Robotics
EO-Robotics previously approved these changes Sep 20, 2025
@DelinQu DelinQu merged commit c1ecbc3 into main Sep 20, 2025
2 checks passed
@DelinQu DelinQu deleted the eo1-dev branch September 20, 2025 04:55
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants