ManipLLM의 공식 코드베이스: 객체 중심 로봇 조작을 위한 구현된 다중 모달 대형 언어 모델(CVPR 2024)
이 저장소는 LLama_Adapter 및 Where2act의 이점을 활용합니다. 그들의 훌륭한 작품에 감사드립니다.
conda create --name manipllm python=3.8
conda 활성화 manipllm
pip 설치 -r 요구사항.txt
./asset/original_sapien_dataset
├── 148
| └── mobility.urdf
├── 149
| └── mobility.urdf
├── ...
│ ...
└── ...
cd ./ManipLLM/data_collection/code
bash scripts/run_gen_offline_data.sh
이 명령은 먼저 훈련 데이터 세트를 생성한 다음 테스트 데이터 세트를 생성합니다.
준비:
CLIP, LLaMa-Adapter용 체크포인트를 다운로드하세요. 다운로드한 체크포인트는 /ManipLLM/train/ckpts 아래에 배치되어야 합니다. 이 형식을 사용하여 LLaMA 백본 가중치를 얻습니다. 비공식 소스(예: BitTorrent)의 체크포인트에는 악성 코드가 포함될 수 있으므로 주의해서 사용해야 합니다. 다운로드한 체크포인트를 다음 구조로 구성합니다.
./ckpts/llama_model_weights
├── 7B
│ ├── checklist.chk
│ ├── consolidated.00.pth
│ └── params.json
└── tokenizer.model
./ckpts/BIAS_LORA_NORM-336-Chinese-7B.pth
./ckpts/ViT-L-14-336px.pt
모델 훈련: 훈련을 위해서는 서버에 최소 40g의 메모리가 필요합니다. 이 명령은 먼저 훈련 json을 생성한 다음 훈련을 시작합니다.
cd ./ManipLLM/train
bash finetune.sh
공개 코드는 일련의 사고 없이 최종 프롬프트에서만 추론하여 포즈를 직접 예측합니다.
/ManipLLM/test/ckpts 아래에도 CLIP, [LLaMa](교육 과정과 동일) 및 LLaMa-Adapter의 체크포인트를 추가하는 것을 잊지 마세요.
체크포인트를 해제합니다: checkpoint-9-ori.pth. 데이터 수집의 무작위성으로 인해 제공된 테스트 데이터 세트는 종이의 데이터 세트와 다르기 때문에 종이의 결과와 약간 다르지만 비교할 수 있는 결과가 나올 수 있습니다. 출시된 checkpoint-9-ori를 다운로드하거나 훈련된 체크포인트를 사용하세요. 우리가 제공하는 링크는 바이두윤 다운로드 링크입니다. 구글 드라이브 다운로드 링크가 필요한 경우 이메일을 통해 구글 계정을 [email protected]로 보내주시면 링크를 공유해 드리겠습니다. test.sh의 line5를 ckpts를 배치한 디렉토리로 변경하는 것을 잊지 마십시오.
우리의 테스트 데이터를 다운로드하거나 직접 테스트 데이터를 수집하세요. 다운로드한 'test_data' 폴더는 /ManipLLM/data_collection/data 아래에 압축을 풀어야 합니다. 공식 웹사이트에서 partnet Mobility urdf를 다운로드하고 /ManipLLM/data_collection/asset 아래에 배치하세요.
테스트를 위해서는 서버에 최소 40g의 메모리가 필요합니다. 이 명령은 먼저 모델을 사용하여 모든 테스트 샘플을 추론한 다음 시뮬레이터(SAPIEN)의 개체와 상호 작용합니다.
cd ./ManipLLM/test
bash test.sh