RoboFlamingo 开源项目使用教程
RoboFlamingo Code for RoboFlamingo 项目地址: https://gitcode.com/gh_mirrors/ro/RoboFlamingo
1. 项目的目录结构及介绍
RoboFlamingo/
├── assets/
│ └── images/
├── enrich_lang_annotations.json
├── eval_ckpts.py
├── eval_sequences.json
├── lang_annotation_cache.json
├── partial_task_data.json
├── requirements.txt
├── .gitignore
├── LICENSE
├── README.md
└── robot_flamingo/
└── train/
└── train_calvin.py
目录结构介绍
- assets/: 存放项目相关的静态资源文件,如图片等。
- enrich_lang_annotations.json: 语言注释的丰富数据文件。
- eval_ckpts.py: 用于评估检查点的Python脚本。
- eval_sequences.json: 评估序列的配置文件。
- lang_annotation_cache.json: 语言注释的缓存文件。
- partial_task_data.json: 部分任务数据的配置文件。
- requirements.txt: 项目依赖的Python包列表。
- .gitignore: Git忽略文件配置。
- LICENSE: 项目的开源许可证文件。
- README.md: 项目的介绍和使用说明文档。
- robot_flamingo/: 项目的主要代码目录。
- train/: 训练相关的代码目录。
- train_calvin.py: 训练Calvin模型的启动文件。
- train/: 训练相关的代码目录。
2. 项目的启动文件介绍
train_calvin.py
train_calvin.py
是RoboFlamingo项目中的主要启动文件,用于训练Calvin模型。该文件位于 robot_flamingo/train/
目录下。
主要功能
- 初始化训练环境。
- 加载数据集和模型配置。
- 执行模型训练。
- 保存训练过程中的检查点。
使用方法
torchrun --nnodes=1 --nproc_per_node=8 --master_port=6042 robot_flamingo/train/train_calvin.py \
--report_to_wandb \
--llm_name mpt_dolly_3b \
--traj_cons \
--use_gripper \
--fusion_mode post \
--rgb_pad 10 \
--gripper_pad 4 \
--precision fp32 \
--num_epochs 5 \
--gradient_accumulation_steps 1 \
--batch_size_calvin 6 \
--run_name RobotFlamingoDBG \
--calvin_dataset $[calvin_dataset_path] \
--lm_path $[lm_path] \
--tokenizer_path $[tokenizer_path] \
--openflamingo_checkpoint $[openflamingo_checkpoint] \
--cross_attn_every_n_layers 4 \
--dataset_resampled \
--loss_multiplier_calvin 1.0 \
--workers 1 \
--lr_scheduler constant \
--warmup_steps 5000 \
--learning_rate 1e-4 \
--save_every_iter 10000 \
--from_scratch
3. 项目的配置文件介绍
requirements.txt
requirements.txt
文件列出了项目运行所需的Python包及其版本。
示例内容
torch==1.9.0
transformers==4.11.0
wandb==0.12.0
...
eval_sequences.json
eval_sequences.json
文件用于配置评估序列的参数。
示例内容
{
"sequence_1": {
"steps": 100,
"batch_size": 8
},
"sequence_2": {
"steps": 200,
"batch_size": 16
}
}
partial_task_data.json
partial_task_data.json
文件用于配置部分任务的数据。
示例内容
{
"task_1": {
"data_path": "/path/to/data1",
"num_samples": 1000
},
"task_2": {
"data_path": "/path/to/data2",
"num_samples": 2000
}
}
通过以上内容,您可以了解RoboFlamingo项目的目录结构、启动文件和配置文件的基本信息,并根据这些信息进行项目的使用和开发。
RoboFlamingo Code for RoboFlamingo 项目地址: https://gitcode.com/gh_mirrors/ro/RoboFlamingo