Configuration Parsing Warning:In adapter_config.json: "peft.task_type" must be a string

flux3-chess-lora

LoRA adapters for FLUX 3 Action SO-101 (black-forest-labs/flux-3-action-so101 @ c9e13b2aca6a0a472b3ea03fd90cff32d3e85849), trained with LeRobot's examples/flux3/lora.json recipe on one SO-101 chess move (horse c3 β†’ d5).

  • Dataset: niru-5/chess_dataset_c3_6cm_to_d5_10cm_20261017_145741 @ 9b6b38719ab08509bdf4ce169a4de028573199de; last 0.2 of episodes held out (episodes 24–30); 2500 steps at batch 8 per GPU Γ— accum 1 (1 Γ— H100), seed 42.
  • Repo root = step 2500 (lowest in-training eval loss so far), EMA weights. Every finished checkpoint is under checkpoints/<step>/ with pretrained_model/ (raw) and pretrained_model_ema/ (EMA). Optimizer state is not uploaded.
  • Encoders: black-forest-labs/flux-3-action-base @ 62878e2925e59b7a89ec14463ce89932624c490d (video VAE, text encoder).
  • Use is subject to the license of the base FLUX 3 Action models.

Checkpoints

Eval loss: LeRobot's in-training flow-matching loss on the held-out episodes, computed on the raw weights with random noise (differences of a few percent are noise). Offline MAE: teacher-forced action error of the EMA weights on the same held-out episodes (88 windows, stride 32, one sample each): predicted vs recorded commands over the executed horizon (first 32 of 42 steps); arm = mean of the 5 arm joints in degrees, gripper in %. Lower is better. Moving windows (same definition as the team's motion_windows.py): only windows where an arm command moves β‰₯ 10Β° from the last command; error on those, share of joint-windows (recorded end move β‰₯ 5Β°) where the model moves the same way by β‰₯ 10 % of it, and median coverage (1 = all of the motion, 0 = none, < 0 = wrong way). Hold the last command scores well on whole windows because most of each episode is slow or still; a model should beat it on moving windows and point the right way.

step eval loss (raw) offline MAE arm Β° (EMA) gripper % moving windows: arm Β° right direction median coverage folder
125 0.1180 9.97 4.79 – – – checkpoints/000125/
250 0.1123 8.80 4.56 – – – checkpoints/000250/
375 0.1109 7.66 4.43 – – – checkpoints/000375/
500 0.1078 6.72 4.24 – – – checkpoints/000500/
1000 0.0990 4.59 3.89 – – – checkpoints/001000/
1500 0.0957 3.31 3.37 – – – checkpoints/001500/
2000 0.0947 2.96 3.01 – – – checkpoints/002000/
2500 0.0927 2.73 2.83 3.79 90% 0.86 checkpoints/002500/ root
base so101 – 12.49 5.82 – – – black-forest-labs/flux-3-action-so101
hold the last command – 4.05 2.08 7.31 0% 0.00 baseline

Per joint, root checkpoint (step 2500) vs base

joint base so101 step 2500
shoulder_pan 10.70 1.30
shoulder_lift 14.92 4.15
elbow_flex 16.14 4.08
wrist_flex 12.91 2.96
wrist_roll 7.77 1.18
gripper 5.82 2.83

Load

from peft import PeftConfig, PeftModel
from lerobot.policies.flux3.modeling_flux3 import Flux3Policy

repo, sub = "Gawtam/flux3-chess-lora", None  # or sub="checkpoints/000250/pretrained_model_ema"
cfg = PeftConfig.from_pretrained(repo, subfolder=sub)
policy = PeftModel.from_pretrained(Flux3Policy.from_pretrained(cfg.base_model_name_or_path), repo, subfolder=sub)

Run: lora_c3d5_h100.

Downloads last month
90
Video Preview
loading

Model tree for Gawtam/flux3-chess-lora