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

Conversation

@DelinQu
Copy link
Collaborator

@DelinQu DelinQu commented Sep 24, 2025

This pull request introduces several improvements and bug fixes across the codebase, primarily focusing on refining model input handling, freezing model components for training, and cleaning up unused or redundant code. The changes enhance the flexibility and correctness of training and inference workflows, especially for vision-language models.

Model input and generation logic improvements:

  • Improved handling of the states input in both eo/model/modeling_eo1.py and eo/model/modeling_qwen2_5_vl.py, ensuring that states are correctly passed and reset when necessary, which helps prevent unintended behavior during generation. [1] [2]
  • Refactored the action sampling logic in sample_actions to use a local chunk_size variable for clarity and consistency, and fixed several indexing bugs related to cache and prefix lengths. This makes the code more robust and easier to maintain. [1] [2] [3] [4]

Training configuration and freezing enhancements:

  • Added a new freeze_lm_head option to TrainPipelineConfig and updated the configure_llm utility to support freezing the language model head independently from the rest of the LLM, giving finer control over which parts of the model are trainable. [1] [2]
  • Fixed logic in __post_init__ to ensure that vision_lora is disabled when lora_enable is false, preventing configuration mismatches.

Code cleanup and testing improvements:

  • Removed the unused custom _sample method and its associated output dataclass from eo/model/modeling_qwen2_5_vl.py, streamlining the codebase and reducing maintenance burden.
  • Improved the test script for the VLM model by renaming scripts/test_vlm.py to tests/test_vlm.py and enhancing it to correctly handle multiple image inputs and maintain state across turns.
  • Removed the obsolete tools/test_hf_model.py script, further cleaning up redundant code.

Miscellaneous script updates:

  • Removed unnecessary sourcing of env.sh from various experiment and evaluation scripts, simplifying environment setup. [1] [2] [3] [4] [5]

Dependency and import adjustments:

  • Cleaned up imports in eo/model/modeling_qwen2_5_vl.py by removing unused typing and generation-related imports, making the file more concise.# What does this PR do?

Fixes # (issue)

Before submitting

  • This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
  • Was this discussed/approved via a GitHub issue? Please add a link to it if that's the case.
  • Did you make sure to update the documentation with your changes?
  • Did you write any new necessary tests?

EO-Robotics and others added 17 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 <[email protected]>
…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.
Update  'freeze_lm_head' option in TrainPipelineConfig for enhanced training flexibility. Refactor training utilities to align with new configuration settings.
Copilot AI review requested due to automatic review settings September 24, 2025 04:16
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 introduces improvements to model input handling and training configuration, along with code cleanup and refactoring. The changes enhance the flexibility of training workflows by adding finer control over model component freezing and fixing several bugs in action sampling logic.

  • Added freeze_lm_head option for independent control over language model head training
  • Fixed state handling and indexing bugs in model generation and action sampling logic
  • Removed unused code and cleaned up imports to reduce maintenance burden

Reviewed Changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tools/test_hf_model.py Removed obsolete test script
tests/test_vlm.py Enhanced VLM test script with proper multi-image handling and state tracking
experiments/*/train.sh Removed unnecessary environment script sourcing
experiments/3_simpler/simpler_env/eval_simpler.sh Removed unnecessary environment script sourcing
eo/train/train_utils.py Updated LM head freezing to use new configuration option
eo/train/pipeline_config.py Added freeze_lm_head option and fixed vision_lora logic
eo/model/modeling_qwen2_5_vl.py Cleaned up imports and added states reset logic
eo/model/modeling_eo1.py Fixed action sampling indexing bugs and added states parameter

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@DelinQu DelinQu merged commit 5897992 into main Sep 24, 2025
2 checks passed
@DelinQu DelinQu deleted the eo1-dev branch September 24, 2025 04:19
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.

3 participants