File size: 2,760 Bytes
4c95857
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# PointmapVLA checkpoint configuration (release schema).
#
# framework.*          model architecture; framework.qwenvl.base_vlm is resolved relative to this
#                      directory (base_vlm/ holds the Qwen3.5 config, tokenizer and processor only;
#                      every weight comes from checkpoints/).
# datasets.vla_data.*  the data recipe this checkpoint was trained with (prompt template, pointmap
#                      options, dataset roots relative to the repository root).
# trainer.*            the optimisation hyper-parameters that were used; informational for inference.
#
# The state fed to the action head is the 11-D end-effector anchor [position 3 | rotation (first two
# rows of the rotation matrix) 6 | gripper 2] sliced from the dataset state by key; the slices are
# derived from the data registry entry of datasets.vla_data.data_mix.

framework:
  name: PointmapVLA
  qwenvl:
    base_vlm: ./base_vlm
    attn_implementation: flash_attention_2
  pointmap:
    frame: base
  action_model:
    action_dim: 10
    state_dim: 11
    action_horizon: 8
    repeated_diffusion_steps: 8
    num_inference_timesteps: 4
    add_pos_embed: true
    max_seq_len: 1024
    noise_beta_alpha: 1.5
    noise_beta_beta: 1.0
    noise_s: 0.999
    num_timestep_buckets: 1000
    diffusion_model_cfg:
      action_dit_hidden_dim: 1024
      attention_head_dim: 64
      dropout: 0.2
      final_dropout: true
      interleave_self_attention: true
      norm_type: ada_norm
      positional_embeddings: null
datasets:
  vla_data:
    dataset_py: lerobot_datasets
    lerobot_version: v3.0
    include_state: true
    data_root_dir: playground/Datasets/libero_r6
    data_mix: libero_r6_pointmap
    collate_pointmap: true
    pointmap_data_root: playground/Datasets/libero_r6_pointmap
    pointmap_out_hw:
    - 256
    - 256
    obs_image_size:
    - 224
    - 224
    collate_vlm_inputs: true
    CoT_prompt: 'Task: {instruction} Mode: <end_effector>'
    instruction_normalize: true
    pointmap_origin_tag: ' Pointmap_origin: <robot>'
    per_device_batch_size: 32
    num_workers: 8
    prefetch_factor: 6
    video_backend: pyav
    delete_pause_frame: false
trainer:
  learning_rate:
    action_model: 0.0001
    base: 0.0001
    pointmap_encoder: 1.0e-05
    qwen_vl_interface: 1.0e-05
  lr_scheduler_type: cosine_with_min_lr
  max_train_steps: 30000
  num_warmup_steps: 1500
  optimizer:
    betas:
    - 0.9
    - 0.999
    eps: 1.0e-08
    weight_decay: 1.0e-05
  scheduler_specific_kwargs:
    min_lr: 1.0e-06
  gradient_accumulation_steps: 1
  logging_frequency: 5
  save_interval: 1000
  save_full_state: true
  full_state_interval: 1000
  resume_keep: 1
  is_resume: true
  eval_interval: 1000000
  freeze_modules: ''
seed: 42