CoolFace
Modelpublic

Dongkkka/xvla_dashboard_0904_10k_16bs

sourceHugging Faceapache-2.0updated 19d agoView on Hugging Face
0likes29downloads
Model Card

X-VLA: Cyclo dashboard, 10,000 steps

Full fine-tuned LeRobot X-VLA policy for pick up the bottle and place it into basket. This repository contains the final 10,000-step policy, saved processors and normalization statistics, original training configuration, and a checkpoint reload verification report.

Training

  • —28 episodes / 5,133 frames; all episodes used for training, no held-out split.
  • —Batch size 16, 10,000 optimizer steps, seed 42, BF16, full fine-tuning.
  • —Base: lerobot/xvla-base, revision cdb7964e4fe842935d671bfab5a5ebe00a96648c.
  • —LeRobot 0.6.1; PyTorch 2.11.0+cu128; Transformers 5.5.4.
  • —Action chunk: 30; state/action dimensions: 22.
  • —Domain-specific action encoder/decoder were reinitialized for 22D robot data before training; pretrained VLM, Transformer backbone and soft prompts were retained.
  • —Base learning rate 1e-4, VLM learning rate 1e-5, warmup 1,000, decay 10,000.
  • —Instruction metadata was repaired in the local dataset view so LeRobot receives text.

Inputs and action semantics

Camera order: observation.images.rgb.cam_left_head, observation.images.rgb.cam_left_wrist, observation.images.rgb.cam_right_wrist. Images are resized with padding to 224 x 224 by the policy path. State normalization is identity; action normalization uses the saved dataset mean/std. Always restore the saved preprocessor and postprocessor with the model.

State/action order is left arm joints 1-7, left gripper, right arm joints 1-7, right gripper, head joints 1-2, lift joint, linearx, lineary, angular_z. The first 19 action entries are absolute position commands; the last three are mobile-base velocity commands. No relative-action or end-effector conversion is used.

Load with LeRobot

python
from lerobot.policies.xvla.modeling_xvla import XVLAPolicy
from lerobot.policies.factory import make_pre_post_processors

repo_id = "Dongkkka/xvla_dashboard_0904_10k_16bs"
policy = XVLAPolicy.from_pretrained(repo_id).to("cuda").eval()
preprocessor, postprocessor = make_pre_post_processors(
    policy.config, pretrained_path=repo_id,
)

The saved processor uses the facebook/bart-large tokenizer, downloaded separately by LeRobot when needed. train_config.json preserves original local paths for provenance; adapt those paths for a new training run. Optimizer/resume state is retained locally and is not included in this inference checkpoint repository.

Validation

Training finished successfully at step 10,000. The published package was reloaded and produced finite (1, 30, 22) predictions from a real training-dataset sample. Action normalization/postprocessing round-trip passed. These checks establish loading and inference execution; robot task success and generalization have not been evaluated.