square_real100 diffusion checkpoints -- batch 128
Diffusion-policy behaviour cloning on LeeHakHo/square_real100
-- 100 real Franka demonstrations of the Square (nut-on-peg) task, 84px, seq_length 16, on one
local RTX 4080 with both arms sharing the GPU.
batch 128, lr 1.4e-4 (sqrt scaling of the 1e-4 used at batch 64), 700 warmup steps, cosine decay reaching 0 exactly at the final step, 1000 epochs x 100 steps.
ALL 100 demonstrations are training data -- hdf5_filter_key is null and experiment.validate
is false -- so there is no validation curve and checkpoints can only be selected on training loss.
That is what the reference diffusion-policy implementation does for its real-robot config. The
batch-64 study with a 90/10 split is at
LeeHakHo/square_real100_ckpt; its
validation loss bottoms out around epoch 30-100 and then rises for the rest of training, while
offline replay on held-out demonstrations kept improving to epoch 900 -- which is why this run
drops validation and trains on everything.
There is no simulator behind this dataset, so no success rate is reported here.
Arms
One backbone and one config; they differ only in the auxiliary objective on the visual encoder.
No rotation is supervised (rotation_blocks: []): the aux head emits the rotation slots but
their error is masked out, so only position is learned.
| folder | aux objective |
|---|---|
baseline/ |
none |
aux_eef_frame/ |
object position in the gripper frame (--aux_eef_frame, 3 head layers) |
obs/object is FoundationPose tracking, not ground truth: frames with obs/aux_valid = 0 are
dropped from the aux loss and from its target standardization.
Training loss
Loss is the action loss for both arms (logged before the aux term is added), so the two are
directly comparable.
| arm | train loss | at epoch |
|---|---|---|
aux_eef_frame/ |
0.0044 | 1000 |
baseline/ |
0.0042 | 1000 |
Epochs
model_epoch_{100,200,...}.pth -- the century checkpoints only. Each carries optimizer state and
the EMA weights, so each is ~1.7 GiB. The run was still training when these were mirrored (latest logged epoch 1000/1000 of 1000); later centuries appear here as they are written.