--- tags: - robotics - video-generation - vision-language-action - fruit-picking library_name: pytorch --- # Fruit-picking Flashwam Public archival bundle for the fruit-picking model trained by Amin. ## Status This is a **partial checkpoint: step 12,600 of 18,900 (epoch 20 of 30)**. The job terminated when its shared `/dev/shm` video staging disappeared; it did not finish the planned 30 epochs. The model has not been evaluated on a robot, and the physical meaning of the `-1/+1` gripper polarity still needs confirmation. Architecture: FlashWAM M1 fused-KV, fixed-RoPE, 1-layer action expert. Checkpoints follow the same layout as the existing WAM repositories: - `checkpoints/weights/step_003150.pt` — SHA-256 `2dc3d4ce58a592944975fc6aa2214f3f22cf724b08fa3815588d4d83319e31b0` - `checkpoints/weights/step_006300.pt` — SHA-256 `660268a99a6e298ad5e3948f4784e7d8be6b4e0ad0517d9404b52c1dc7797145` - `checkpoints/weights/step_009450.pt` — SHA-256 `dc0497a96a8c2c7bcf072d00e700302707f260bf6be0c7fa77567520f101ca01` - `checkpoints/weights/step_012600.pt` — SHA-256 `96c9587141286f2bef8f7c38bc31816e5f9ce689f3c66500b5fdf1d6f3b83a06` ## Conditioning Exact task text: > Lift the lid, put it aside, and pick the black plum. `conditioning/text_embedding.pt` is the exact cached T5 embedding consumed during training. It was generated with the Wan text stack, context length 128, using `Wan-AI/Wan2.1-T2V-1.3B` as the tokenizer model reference. The resolved training config sets `load_text_encoder: false`, so this cached tensor is part of the required inference bundle. ## Input processing and normalization - Two 256x256 RGB cameras (`agentview`, then `wrist`). - Each camera is converted to a tensor and resized to 224x224. - Cameras are concatenated horizontally to 224x448. - Horizon: 33 observations; 32 action transitions at 10 Hz. - Original 15-D state was converted to 8-D: `eef_xyz(3) + quat-to-axis-angle(3) + [gripper_width/2, -gripper_width/2]`. - Action is 7-D: delta XYZ, delta rotation XYZ, and gripper. - Delta/padding mask is `[true, true, true, true, true, true, false]`; the gripper channel is absolute rather than delta. - `dataset_stats.json` contains the exact min/max normalization statistics used by this run. ## Attention masks The resolved model uses: - `video_attention_mask_mode: first_frame_causal`: first-frame queries cannot attend to later video frames; later-frame queries can attend to all video tokens. - `action_group_causal_mask_mode: group_diagonal`: each video temporal group attends only to the corresponding action-token group. - Text cross-attention is enabled for the action expert. The exact implementations and preprocessing classes are included under `training_code/`; the resolved config is `config.yaml`. No license is asserted here for the bundled upstream code; its original terms continue to apply. ## Base components This weights-only checkpoint is not standalone. It references `Wan-AI/Wan2.2-TI2V-5B` and requires the matching Wan VAE plus the included FastWAM code/configuration. PyTorch `.pt` files may contain pickled objects; load only in a trusted environment.