Skip to content

4 investigate and likely switch to openvla oft - #5

Open
mehhl wants to merge 63 commits into
mainfrom
4-investigate-and-likely-switch-to-openvla-oft
Open

4 investigate and likely switch to openvla oft#5
mehhl wants to merge 63 commits into
mainfrom
4-investigate-and-likely-switch-to-openvla-oft

Conversation

@mehhl

@mehhl mehhl commented Mar 16, 2025

Copy link
Copy Markdown
Collaborator

No description provided.

mehhl and others added 30 commits December 22, 2024 21:30
First commit for paper: "Fine-Tuning Vision-Language-Action Models:
Optimizing Speed and Success" - Moo Jin Kim, Chelsea Finn, Percy Liang

Website: https://openvla-oft.github.io/
Prevents race conditions in multi-GPU training runs.
(Previous commit was supposed to do this)
(Python 3.10 actually works for the client conda environment)
@adambiel22
adambiel22 requested a review from Copilot April 9, 2025 13:28

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot reviewed 44 out of 52 changed files in this pull request and generated no comments.

Files not reviewed (8)
  • .devcontainer/devcontainer.json: Language not supported
  • .devcontainer/setup_host.sh: Language not supported
  • .dockerignore: Language not supported
  • .env.template: Language not supported
  • .gitmodules: Language not supported
  • Dockerfile: Language not supported
  • LICENSE: Language not supported
  • experiments/robot/aloha/requirements_aloha.txt: Language not supported
Comments suppressed due to low confidence (1)

experiments/robot/aloha/preprocess_split_aloha_data.py:97

  • The variable 'args' is referenced directly in the function without being passed as an argument; consider passing 'img_resize_size' explicitly or otherwise defining 'args' in this scope to avoid a NameError.
Image.fromarray(image_dict[k][i]).resize((args.img_resize_size, args.img_resize_size), resample=Image.BICUBIC)

Revert to state before direct integration of robot-interface into
openvla environment.
We will use a different approach: serve openvla in one Python
environment (using `vla-scripts/finetune.py`), and query server from
robot-interface client in another Python environment.
	modified:   .devcontainer/devcontainer.json
	modified:   .devcontainer/docker-compose.yml
	deleted:    .devcontainer/setup_host.sh
	modified:   Dockerfile
	modified:   prismatic/util/extern/hf/lerobot_utils.py
	modified:   pyproject.toml
	modified:   vla-scripts/finetune.py
@mehhl
mehhl marked this pull request as ready for review April 9, 2025 14:44
* fix to val set split

* read action chunks from prepared lerobotdatasets

temporary fix to a pressing issue, implement action chunking properly by reading actions from 'action_chunk' col of step instead of 'action.pose' and 'action.gripper'. 'action_chunk' col must be prepared offline

* updated slurm jobconf for action chunked lerbdset

* fixes to manual create env

* create data/ dir when manually creating env

* fix double-saving weights when finetuning
@mehhl
mehhl requested review from adambiel22, Copilot and pzal April 9, 2025 14:56

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot reviewed 43 out of 51 changed files in this pull request and generated no comments.

Files not reviewed (8)
  • .devcontainer/devcontainer.json: Language not supported
  • .dockerignore: Language not supported
  • .env.template: Language not supported
  • .gitmodules: Language not supported
  • Dockerfile: Language not supported
  • LICENSE: Language not supported
  • experiments/robot/aloha/requirements_aloha.txt: Language not supported
  • finetune_lerobot.sh: Language not supported
Comments suppressed due to low confidence (1)

experiments/robot/aloha/preprocess_split_aloha_data.py:96

  • The variable 'args' is referenced in the image resize call without being defined in this scope. Consider passing the resize size as a parameter to the function instead.
Image.fromarray(image_dict[k][i]).resize((args.img_resize_size, args.img_resize_size), resample=Image.BICUBIC)

@mehhl

mehhl commented Apr 9, 2025

Copy link
Copy Markdown
Collaborator Author

In case anyone wants to take a detailed look at the ommit history, there are roughly speaking these blocks of changes here:

  1. 8154a87 through d92167c is a merge of openvla-oft with my earlier work on enabling lerobot support for openvla finetuning, very much favoring openvla-oft

  2. d92167c through 2598f4b is a new, simpler implemetnation of lerobot support for openvla that includes (almost) all of openvla-oft changes

  3. 2598f4b through 3dbaff8 was an attempt to integrate robot-interface (a new version of urx-inference) into openvla 3dbaff8 reverts to 2598f4b because ultimately I found that instead of integrating robot-interface into openvla in the same Python environment, it's better to serve openvla in one Python environment over a network, and query that server in another Python environment which uses robot-interface. This second solution is not yet in the openvla repo (but requires only a simple inference script).

  4. dd70fe4 merges fixes to finetuning, see 6 debug data format differences between finetuning and evaluation #7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

investigate and likely switch to openvla-oft

3 participants