CoolFace
Modelpublic

Kota0612/flow-matching-dex1-1-fiducial-cube-20260902

sourceHugging Facemitupdated 23d agoView on Hugging Face
0likes14downloads
Model Card

Flow Matching policy — Dex1-1 Fiducial Cube (2026-09-02)

diffusion_policyベースのFlowMatchingUnetTimmPolicy(ConditionalUnet1D + timm obs encoder、 DDIMの代わりにFlow Matching/Rectified Flowで学習)を、Unitree Dex1-1カッターハンドによる Fiducial Cube収集データ (Kota0612/dex1-1-umi-fiducial-cube-20260902、 154エピソード・36,440フレーム)で学習した最終モデルです。

学習設定

  • —ポリシー: FlowMatchingUnetTimmPolicy(obs encoder: vit_base_patch16_clip_224.openai)
  • —目的関数: 直線パス xt = (1-t)*x0 + t*x1 上の速度 v = x1 - x0 を回帰(t ~ U(0,1)連続一様サンプリング)
  • —推論: Euler法によるODE積分、num_inference_steps=8
  • —epoch: 179(train_loss ≈ 0.008で収束)
  • —ディスクフルによる中断・復旧(epoch60から再開)を経て学習完了
  • —観測: camera0_rgb(gripper側カメラ、224x224)
  • —行動空間: エンドエフェクタ位置 eef_pos(3) + 姿勢 eef_rot_axis_angle(3) の計6次元 (gripper開閉幅は含まない。Dex1-1カッターは別のCNNで開閉幅を制御するため)

ファイル

ファイル内容
epoch=0179-train_loss=0.008.ckpt最終学習済みチェックポイント(model + EMA + optimizer state、torch.save/dill形式)
config.yaml学習時のHydra設定

使い方

このチェックポイントは Dex1-1hand_UMIリポジトリの diffusion_policyパッケージ(FlowMatchingUnetTimmPolicy)に依存します。

python
import torch, dill
payload = torch.load(open("epoch=0179-train_loss=0.008.ckpt", "rb"), pickle_module=dill)
# payload['state_dicts']['model'] などを参照してロード

関連モデル

同一データで学習した比較用モデル:

ライセンス

MIT License.