A base de código oficial para ManipLLM: Modelo de linguagem grande multimodal incorporado para manipulação robótica centrada em objetos (CVPR 2024)
Este repositório se beneficia de LLama_Adapter e Where2act. Obrigado por seus maravilhosos trabalhos.
conda create --name manipllm python=3.8
conda ativar manipllm
pip instalar -r requisitos.txt
./asset/original_sapien_dataset
├── 148
| └── mobility.urdf
├── 149
| └── mobility.urdf
├── ...
│ ...
└── ...
cd ./ManipLLM/data_collection/code
bash scripts/run_gen_offline_data.sh
Este comando irá primeiro gerar o conjunto de dados de treinamento e, em seguida, gerar o conjunto de dados de teste.
Preparação:
Baixe pontos de verificação para CLIP, adaptador LLaMa. Os pontos de verificação baixados devem ser colocados em /ManipLLM/train/ckpts. Obtenha os pesos do backbone LLaMA usando este formulário. Observe que os pontos de verificação de fontes não oficiais (por exemplo, BitTorrent) podem conter código malicioso e devem ser usados com cuidado. Organize os pontos de verificação baixados na seguinte estrutura:
./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
Treinamento do modelo: O treinamento exige que o servidor tenha pelo menos 40g de memória. O comando irá primeiro gerar o json de treinamento e, em seguida, iniciar o treinamento
cd ./ManipLLM/train
bash finetune.sh
O código público apenas infere no prompt final sem cadeia de pensamento, prevendo a pose diretamente.
Lembre-se de adicionar os pontos de verificação de CLIP, [LLaMa] (mesmo com o processo de treinamento) e LLaMa-Adapter em /ManipLLM/test/ckpts também.
Liberamos o ponto de verificação: checkpoint-9-ori.pth. Observe que, devido à aleatoriedade na coleta de dados, o conjunto de dados de teste fornecido é diferente daqueles em papel, portanto você pode resultar em resultados ligeiramente diferentes, mas comparáveis, em comparação com os resultados em papel. Baixe o checkpoint-9-ori lançado ou use seu próprio checkpoint treinado. O link que fornecemos é o link de download do Baiduyun. Se você precisar de um link de download do Google Drive, envie sua conta do Google por e-mail para [email protected], então compartilharemos o link com você. Lembre-se de alterar a linha5 em test.sh para o diretório em que você colocou os ckpts.
Baixe NOSSOS dados de teste ou colete os dados de teste por conta própria. A pasta 'test_data' baixada deve ser descompactada em /ManipLLM/data_collection/data. Baixe partnet mobilidade urdf de seu site oficial e coloque em /ManipLLM/data_collection/asset.
O teste exige que o servidor tenha pelo menos 40g de memória. Este comando usará primeiro o modelo para inferir todas as amostras de teste e depois interagirá com o objeto no simulador (SAPIEN).
cd ./ManipLLM/test
bash test.sh