Skip to content

踩坑GitHub openvla/openvla10 个月前

Octo微调LIBERO成功率0%及输出动作过小导致机器人不动 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:The details of fine-tuning Octo using LIBERO(GitHub openvla/openvla #215)

状态:有绕过办法

问题 ​

在LIBERO数据集上微调Octo模型时,评估成功率始终为0%。即使有输出,动作值也极小(如[-0.000, 0.002...]),导致仿真环境中机器人几乎无法移动。该现象在使用octo-base模型时尤为明显,且默认配置下未能复现论文指标。

环境 ​

Octo (octo-base/octo-small), LIBERO RLDS数据集, finetune_config.py, TensorFlow

解决办法 ​

  1. 将基础模型从 octo-base 切换为 octo-small,后者在该任务上表现更稳定。
  2. 修改 FINETUNING_KWARGS 配置,将 image_obs_keys 中的 wrist 设为 None,仅使用第三人称视角图像进行训练。
  3. 设置 action_normalization_mask 为 [True, True, True, True, True, True, False],避免对夹爪动作进行归一化。
  4. 自定义 libero_dataset_transform 函数:将夹爪动作裁剪至0-1区间并执行 invert_gripper_actions 翻转(+1开/0关);将本体状态前6维与后2维拼接作为 proprio 观测输入。
  5. 确保数据标准化逻辑与OpenVLA处理流程保持一致,通过 ModuleSpec.create 正确加载自定义变换函数。

讨论原作者:@buduz 等,版权归原作者所有。

来源

本页事实对应的公开页面,以原文为准。

  1. GitHub openvla/openvla #215:The details of fine-tuning Octo using LIBERO访问 2026-10-27