Guanli001/act-restock-aojiru-right-real40-chunk60
ACT:Piper 右臂青汁补货 / right-arm aojiru restocking
本仓库包含 2026-08-31 训练完成的定制 ACT 模型、配套源码、可移植的推理与继续训练入口,以及训练记录。训练数据单独保存于 Guanli001/piper-aojiru-right-real40-20260831。两个仓库均已公开,可直接下载。
这是基于 tonyzhaozh/act 修改的 PyTorch 模型,不是 LeRobot 的模型导出格式。请使用本仓库入口;不能直接套用 LeRobot 或 Transformers 的 from_pretrained。
模型与训练记录
policy_best.ckpt 和 policy_last.ckpt 各约 336 MB。原始周期快照未逐一重复上传。两个权重都包含完整模型参数,但不包含原训练的 optimizer / RNG / epoch 恢复状态。因此从这两个文件继续训练属于从已有权重开始微调,无法精确恢复 2026-08-31 的优化器轨迹。
原验证损失使用带随机潜变量的训练损失计算,不能当作实机成功率。原 dataset_stats.pkl 对全部 40 条演示计算,包含验证集;这里保留这一设置用于权重兼容。继续训练默认沿用这些统计量,避免改变已有权重的输入与输出尺度。
下载模型和数据
安装 Hugging Face CLI 后即可下载,无需先登录。
python -m pip install -U huggingface_hub
hf download Guanli001/act-restock-aojiru-right-real40-chunk60 \
--local-dir act-model
hf download Guanli001/piper-aojiru-right-real40-20260831 \
--repo-type dataset --local-dir act-data数据约 60 GB,HDF5 文件位于 act-data/data/episode_001.hdf5 至 episode_040.hdf5。数据仓库提供每个文件的 SHA256、样本数、schema 和训练/验证划分。为固定版本,可给 hf download 增加 --revision <commit>;模型中的 dataset_reference.json 记录了关联的数据版本。
安装环境
cd act-model
conda env create -f environment.yml
conda activate act-restock默认环境面向 Linux x8664 和 CUDA 12.8 的 PyTorch 2.7.0 / torchvision 0.22.0 组合,来自打包时对原 `aloha` 训练环境的审计。上传所用的 `lerobot` 环境与训练环境不同。`requirements.txt` 说明了 CPU 或其他平台替换 PyTorch wheel 的方法,`environmentreport.json` 记录版本审计及验证范围。这是直接依赖版本快照,不是训练当日保存的完整环境锁。
新入口不依赖 ROS、Isaac Sim 或 MuJoCo。source/act/ 保留原定制源码;如果要运行其中旧训练/可视化脚本,可额外安装 requirements-original.txt,并自行配置其本地路径。旧仿真脚本还需要相应仿真环境。归档的 source/act/tools/mcap_to_act_hdf5.py 用于说明数据转换过程,需要 ROS 2 Jazzy 系统环境;使用已上传 HDF5 继续训练不需要运行它。
从已有权重继续训练
在 act-model 目录内运行:
python train.py \
--dataset-dir ../act-data/data \
--output-dir ../act-finetuned \
--checkpoint policy_best.ckpt \
--epochs 100 \
--batch-size 4 \
--lr 1e-5 \
--device cuda若希望从原训练最后一轮参数开始,把 --checkpoint 改为 policy_last.ckpt。Batch size 4 是便于起步的示例;原训练为 16,可按显存调整。输出目录必须是新目录,防止覆盖已有权重。训练不需要再下载 ImageNet backbone 权重,因为原 checkpoint 已包含全部 backbone 参数。
新入口会保存 policy_best.ckpt、policy_last.ckpt、统计量、划分、指标和完整 training_state.pt。后者包含本次微调的 optimizer、RNG 和 epoch 状态,可以继续恢复:
python train.py \
--dataset-dir ../act-data/data \
--output-dir ../act-finetuned-next \
--resume ../act-finetuned/training_state.pt \
--epochs 100 \
--device cuda--epochs 始终表示新增轮数。恢复时沿用保存的 batch size、workers、学习率和采样设置;需要改变这些设置时,改为从 best/last 权重重新微调。完整状态默认每 10 轮及训练结束保存(--save-every 可调),单个状态约 1.3 GB。恢复以保存时的 epoch 边界为准,需要相同数据内容;跨设备/软件版本的逐位一致性不作保证,CUDA 未启用严格确定性算法。新入口在每轮更新后做验证,原脚本在更新前做验证,因此新日志的 epoch 和验证数值不能直接当作原运行的延续。
原数据按 episode 编号排序,以 split seed 1 重建 80/20 划分。验证集为 001,006,009,010,012,013,016,038。观测 observation[t] 对应 action[t],不额外减一帧;图像已经是 RGB,不要再次交换 R/B 通道。
自备数据也可以使用,但必须保持三路相机名称与顺序、RGB 图像、7 维关节顺序、单位及相同的动作定义。HDF5 结构详见数据仓库。改变机器人关节定义、夹爪尺度或相机配置,不属于本入口保证兼容的简单微调。
离线推理
python predict.py \
--episode ../act-data/data/episode_001.hdf5 \
--timestep 0 \
--output ../act-prediction.npz \
--device cuda输出包含 60 × 7 的反归一化动作。前六维为 rad,夹爪维为归一化命令;输出是绝对目标,不是关节增量。这个命令只读取录制数据并保存预测,不连接机器人。实机控制还需用户自己的控制频率、执行窗口、关节范围与控制接口。
使用微调后的结果时,仍在 act-model 目录运行,并指定新的权重目录:
python predict.py --model-dir ../act-finetuned \
--episode ../act-data/data/episode_001.hdf5 \
--timestep 0 --output ../act-finetuned-prediction.npz --device cuda文件说明
policy_best.ckpt/policy_last.ckpt:原训练权重。dataset_stats.pkl:原归一化统计;training_config.json:原模型与训练配置。inference_config.json:推理配置;act_source已改成相对路径source/act。source/act/:当前定制 ACT 源码快照,含上游许可证。train.py/predict.py:可移植入口。training/:原训练日志、配置、启动脚本、训练曲线;其中绝对路径仅作历史记录。provenance.json:源码版本、原训练来源和 checkpoint 语义。dataset_reference.json:训练数据仓库与版本。validation_report.json:导出包实际验证结果。SHA256SUMS:发布文件的校验清单。
上游 ACT 源码许可证保存在 LICENSE / source/act/LICENSE,DETR 的许可证保存在 source/act/detr/LICENSE。这些源码许可证不代表对训练数据和模型权重另行授予了许可。
Hugging Face 文件下载方式见官方文档。
