A2D Diffusion Policy · Box + Bottle 多任务抓取

Source on GitHub Model on Hugging Face Evaluation

这是 A2D Diffusion Policy 多任务抓取模型的私有 checkpoint 备份。模型使用头部相机 RGB、右手相机 RGB 和本体状态作为条件,生成未来 16 步关节位置动作,训练任务覆盖 Box 与 Bottle。

本仓库保留原始权重、配置、归一化统计与训练/评测来源,供长期备份和后续恢复准备使用。文件完整性已验证;尚未进行本备份的独立推理或精确续训测试。

源码与权重

内容 维护位置
模型定义、训练、导出与推理实现 GitHub: alex7537/flow-matching-test-a2d-v2
原始 checkpoint、配置与本 Model Card Hugging Face: dad2313/a2d-dp-multitask-latest-backup-20260922
评测记录与模型关联 GitHub: alex7537/a2d-eval
原始训练 run W&B: y8aum0x2

原始训练 commit 尚未确认。manifest 中的 fd2b7512… 是备份检查时源码仓库的 HEAD,不是已验证的训练 commit。 原始 checkpoint 的身份由训练 run、epoch/step 和下方 SHA256 固定。

模型契约

头部 RGB + 右手 RGB(rgb_head、rgb_right_hand)
  + 本体状态(proprioception)
  -> 每个视角 224 × 224,历史长度 1
  -> ViT-small hybrid encoder:每帧 49 个 spatial tokens
  -> 条件动作策略
  -> 未来 16 步 × 13 维关节位置动作
项目 配置
策略 Diffusion Policy
视觉编码器 vit_small_r26_s32_224,预训练初始化并微调
动作模型 d_model=384,4 heads,4 layers
动作语义 arm_executed_hand_commanded_joint_position
动作维度/预测长度 13/16
动作相对观测偏移 action_offset_steps=1
采样配置 100 个训练扩散时间步;15 步推理采样;scaled-linear beta schedule
评测执行长度 H=16;每回合最多 300 个动作

动作标签组合了机械臂实际关节位置与手部指令关节位置。接入其他环境时,需要匹配关节顺序、图像预处理、归一化、时间对齐和控制接口;不能仅根据 13 维形状直接下发动作。

训练与 checkpoint

项目 记录
数据集标识 a2d_v3_multitask_box300_bottle300_seed42
任务组成 Box 300 episodes + Bottle 300 episodes
训练轮数 100 epochs
最终训练位置 epoch 99(从 0 计数),step 379400
Batch size/seed 32/42
初始学习率/backbone 倍率 1e-4/0.1
EMA 配置 enabled,decay=0.999
备份文件 原始 latest.ckpt,约 1.10 GB
关联评测权重角色 latest_raw

训练信息来自 config.yaml 与 training_summary.json。保留的是训练结束的 latest checkpoint,文件名不表示它是所有 epoch 中的最优模型。训练 loss/validation MSE 不等价于抓取成功率。

下载与恢复准备

私有仓库需要具有访问权限,并先执行 hf auth login。

hf download dad2313/a2d-dp-multitask-latest-backup-20260922 \
  --revision 2d274a16b57b7281e9ca65de562bc9ddcd2ce8df \
  --local-dir dp-multitask

此 revision 固定了首次验证的权重与配置快照;本 Model Card 的后续修订可能更新说明。

Python 下载接口

from huggingface_hub import snapshot_download

model_dir = snapshot_download(
    repo_id="dad2313/a2d-dp-multitask-latest-backup-20260922",
    revision="2d274a16b57b7281e9ca65de562bc9ddcd2ce8df",
    local_dir="dp-multitask",
)
print(model_dir)

下载后核对下方 SHA256,再使用原项目的兼容环境恢复。这是自定义 PyTorch checkpoint,本仓库尚未提供独立的 predict()、一键推理脚本或 Transformers from_pretrained() 接口。

静态检查发现模型、optimizer、config、norm_stats、EMA 相关信息、epoch/step 和 RNG 状态字段,但尚未验证精确续训。torch.load(weights_only=True) 检查曾因 NumPy globals 未在安全允许列表中而失败;文件完整性通过不代表加载或运行测试通过。

文件

文件 内容
latest.ckpt 与原始训练文件逐字节一致的 checkpoint
config.yaml 路径脱敏后的模型、数据、训练及采样配置
normalization_stats.json 从训练配置所指数据集复制的归一化统计
training_summary.json 训练摘要、最终指标和 W&B 来源
evaluation.json 关联评测的成功数、分母、条件和限制
release_manifest.json 文件 SHA256、来源与备份验证信息
README.md 本 Model Card

checkpoint 内嵌的配置与归一化统计是恢复时的基准;独立统计文件尚未与内嵌数值逐项对照。文本中的原机器路径已脱敏,恢复时需重新指定路径。原始数据集、dataset/split manifests 和独立运行环境未随本备份上传。

评测

关联批次:dp_imle_cfm_latest_two_scenes_100each_20260917_214355。

场景 尝试次数 成功/有效 成功率 无效次数
Bottle · B19V2 100 68 / 94 72.3% 6
Box · A10V1 100 61 / 96 63.5% 4

成功判据:拇指加至少另外两指的接触力均超过 1e-4 N,同时相对初始高度抬升至少 5 cm,连续满足 5 次动作后采样。之后掉落不扣分,因此该指标不是最终保持成功率。

结果来自 A2D 评测固定快照。注册表已关联到上述训练 run 和 latest_raw 角色;本次未将原始 checkpoint 的权重与历史评测 bundle 内部权重逐项比对。因此这里报告的是训练 run 关联的历史评测结果,不是从本 HF 备份重新运行得到的结果。

评测未启用布局恢复,相同 seed 不保证完全一致的物体初态;不同批次不构成严格的受控模型排名。无效测试已从成功率分母中排除。

完整性

latest.ckpt SHA256:
998ae0b13b4e60ff80409242e29567a484d75bdb08a8b073276710417b3c6a45

首次备份已核对服务器与本地文件哈希,并从固定 HF revision 重新下载全部文件验证一致。README 后续编辑不改变 checkpoint 内容。

限制

  • 本仓库是私有备份,未授予新的开源许可或再分发权利。
  • 覆盖 Box/Bottle 训练任务,不能据此推断对新物体、新相机或新机器人的泛化能力。
  • 尚未进行本备份的独立推理、闭环复测或精确续训测试。
  • 历史评测的训练来源已关联,旧 bundle 内部权重一致性仍未核验。
Downloads last month
10
Video Preview
loading