smolvla_metaworld配置文件详解:如何通过config.json定制你的机器人学习任务
【免费下载链接】smolvla_metaworld项目地址: https://ai.gitcode.com/hf_mirrors/lerobot/smolvla_metaworld
smolvla_metaworld是一个基于HuggingFace生态的机器人学习项目,通过config.json等配置文件可以灵活定制机器人的感知输入、动作输出和训练参数,实现个性化的机器人学习任务。本文将详细解析这些配置文件的结构和关键参数,帮助你快速上手定制自己的机器人学习实验。
核心配置文件概览 📋
在项目根目录下,主要的配置文件包括:
- config.json:主配置文件,定义模型架构、输入输出特征和训练基本参数
- train_config.json:训练过程配置,包含数据集、环境和优化器设置
- policy_preprocessor.json:策略预处理配置,定义数据预处理流程
这些文件采用JSON格式,结构清晰且易于修改。下面我们将重点解析config.json的核心配置项。
config.json关键参数解析 🔍
1. 输入输出特征配置
"input_features": { "observation.state": { "type": "STATE", "shape": [6] }, "observation.images.camera1": { "type": "VISUAL", "shape": [3, 256, 256] } }- STATE类型:对应机器人的状态信息,如关节角度、位置坐标等数值型数据
- VISUAL类型:对应摄像头图像输入,shape格式为[通道数, 高度, 宽度]
- 项目支持多摄像头配置(camera1/camera2/camera3),可根据任务需求增删
2. 模型训练基础设置
"device": "cuda", "use_amp": false, "pretrained_path": "lerobot/smolvla_base", "optimizer_lr": 0.0001- device:指定训练设备,"cuda"表示使用GPU,"cpu"表示使用CPU
- use_amp:是否启用混合精度训练,可加速训练并减少显存占用
- pretrained_path:预训练模型路径,使用HuggingFace Hub上的模型或本地路径
- optimizer_lr:优化器学习率,根据任务复杂度调整,典型值在1e-4到1e-3之间
3. 视觉与状态归一化配置
"normalization_mapping": { "VISUAL": "IDENTITY", "STATE": "MEAN_STD", "ACTION": "MEAN_STD" }- VISUAL:图像数据通常使用IDENTITY(恒等映射)或IMAGENET标准化
- STATE/ACTION:状态和动作数据推荐使用MEAN_STD(均值标准差归一化)
- 归一化参数存储在:policy_preprocessor_step_5_normalizer_processor.safetensors
train_config.json实用配置项 ⚙️
环境与任务设置
"env": { "type": "metaworld", "task": "metaworld-push-v2", "fps": 80, "episode_length": 400 }- task:指定Metaworld环境中的具体任务,如"push-v2"(推物体)、"pick-place-v2"(拾取放置)等
- fps:控制环境渲染帧率,影响数据采集质量和训练速度
- episode_length:单轮训练的最大步数,根据任务复杂度调整
训练流程控制
"batch_size": 32, "steps": 5000, "log_freq": 200, "save_freq": 5000- batch_size:批次大小,根据GPU显存调整,典型值8-64
- steps:总训练步数,建议从5000步开始测试,再逐步增加
- log_freq:日志记录频率,建议每200-500步记录一次训练指标
快速定制指南 ✨
1. 修改任务类型
打开train_config.json,修改env.task字段:
"task": "metaworld-assembly-v2"2. 调整输入特征
在config.json中增删input_features:
// 添加新的状态特征 "observation.gripper_force": { "type": "STATE", "shape": [1] }3. 优化训练参数
根据模型收敛情况调整学习率和 batch size:
"optimizer_lr": 0.0002, "batch_size": 16 // 显存不足时减小配置文件使用建议 💡
- 备份原始配置:修改前先复制一份默认配置文件,方便恢复
- 逐步调整参数:一次只修改1-2个参数,便于定位问题
- 记录实验日志:建议使用output_dir指定不同实验结果目录
- 利用预训练模型:初次实验建议使用pretrained_path加载预训练权重,加速收敛
通过灵活配置这些文件,你可以快速适配不同的机器人学习任务和硬件环境。如果需要更深入的定制,可以参考项目中的policy_postprocessor.json和预处理配置,实现更复杂的数据处理流程。
【免费下载链接】smolvla_metaworld项目地址: https://ai.gitcode.com/hf_mirrors/lerobot/smolvla_metaworld
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考