Giter VIP home page Giter VIP logo

llara's Introduction

LLaRA: Large Language and Robotics Assistant

llara

LLaRA: Supercharging Robot Learning Data for Vision-Language Policy [Arxiv]

Xiang Li1, Cristina Mata1, Jongwoo Park1, Kumara Kahatapitiya1, Yoo Sung Jang1, Jinghuan Shang1, Kanchana Ranasinghe1, Ryan Burgert1, Mu Cai2, Yong Jae Lee2, and Michael S. Ryoo1

1Stony Brook University 2University of Wisconsin-Madison

Installation

  1. Set Up Python Environment:

    Follow the instructions to install the same Python environment as used by LLaVA.

    conda create -n llara python=3.10 -y
    conda activate llara
    conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia
    
  2. Install Revised LLaVA:

    Navigate to train-llava in this repo and install the llava package there:

    cd train-llava && pip install -e ".[train]"
    conda install cuda=12.1 cuda-compiler=12.1 cuda-nvcc=12.1 cuda-version=12.1 -c nvidia
    pip install flash-attn --no-build-isolation
    
  3. Install VIMABench:

    Complete the setup for VIMABench.

    git clone https://github.com/vimalabs/VimaBench && cd VimaBench
    pip install -e .
    

Demo

  1. Download the Pretrained Model:

    Download the following model to ./checkpoints/

    • llava-1.5-7b-D-inBC + Aux(B) trained on VIMA-80k Hugging Face

    More models are available at Model Zoo

  2. Run the evaluation:

    cd eval
    # evaluate the model with oracle object detector
    python3 eval-llara.py D-inBC-AuxB-VIMA-80k --model-path ../checkpoints/llava-1.5-7b-llara-D-inBC-Aux-B-VIMA-80k --prompt-mode hso
    
    # the results will be saved to ../results/[hso]D-inBC-AuxB-VIMA-80k.json
    
  3. Check the results: Please refer to llara-result.ipynb

Quick Start Guide

  1. Minuiment Hardware Requirement:
  • Inference: Requires at least one GPU with a minimum of 24GB RAM.
  • Training: Requires a system with at least 300GB of system RAM and four Ampere (or newer) GPUs, each equipped with a minimum of 24GB of memory.
  1. Prepare the Dataset:

    Visit the datasets directory to prepare your dataset for training.

  2. Finetune a LLaVA Model:

    To start finetuning a LLaVA model, refer to the instructions in train-llava.

  3. Evaluate the Trained Model:

    Follow the steps in eval to assess the performance of your trained model.

  4. Train a MaskRCNN for Object Detection:

    If you want to train a MaskRCNN for object detection, check out train-maskrcnn for detailed steps.

Issues

If you encounter any issues or have questions about the project, please submit an issue on our GitHub issues page.

License

This project is licensed under the Apache-2.0 License - see the LICENSE file for details.

Support us

If you find this work useful in your research, please consider giving it a star โญ and cite our work:

@article{li2024llara,
  title={LLaRA: Supercharging Robot Learning Data for Vision-Language Policy},
  author={Li, Xiang and Mata, Cristina and Park, Jongwoo and Kahatapitiya, Kumara and Jang, Yoo Sung and Shang, Jinghuan and Ranasinghe, Kanchana and Burgert, Ryan and Cai, Mu and Lee, Yong Jae and Ryoo, Michael S.},
  journal={arXiv preprint arXiv:2406.20095},
  year={2024}
}

Thanks!

llara's People

Contributors

eltociear avatar lostxine avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

llara's Issues

Problem about replicating results

What's a nice job! And code is easy to run.
While I have some problems in replicating eval results. Here is my process.

  1. I have download ckpt llava-1.5-7b-D-inBC + Aux(B) trained on VIMA-80k Hugging Face;

  2. Then build a new empty directory myresults and use command cd eval && python3 eval-llara.py D-inBC-AuxB-VIMA-80k --model-path ../checkpoints/llava-1.5-7b-llara-D-inBC-Aux-B-VIMA-80k --prompt-mode hso --output-path ../myresults/;

  3. I also cp results/llara-result.ipynb to ./myresults;

  4. In ./myresults directory, I run llara-result.ipynb to get the final result, but the result is too bad;
    image

Doing Step 2 and 3 is to get a new json result.

What mistakes happend in my process? Could anyone point out for me?

Besides, thanks authors to share training logs for us. I found the learning rate is changing among training according to ./checkpoints/llava-1.5-7b-llara-D-inBC-Aux-B-VIMA-80k/trainer_state.json. Which schedual is used in training? Following your guide, the learning rate is always 2e-05 except warm up stage.

Request for Missing Configuration File "zero3_offload.json" in llara_train.sh Script

Your work is excellent, and the open-source efforts are truly commendable. I have recently been trying out your code, but I encountered an issue during training. The llara_train.sh script mentions a configuration file --deepspeed ./scripts/zero3_offload.json, but I couldn't find this file in the specified directory. I attempted to use the corresponding file from LLAVA as a replacement, but it didn't work as expected. Could you please provide the correct configuration file?

Thank you very much for your assistance!

read trajectory.pkl error

Thanks for releasing the code for the great work.
I download VIMA data, when i read trajectory.pkl will appear
ModuleNotFoundError: No module named 'vimasim' error.
How should I solve this? Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.