VersatIL 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- versatil-0.3.0/.env.example +28 -0
- versatil-0.3.0/.github/workflows/ci.yml +126 -0
- versatil-0.3.0/.github/workflows/docs.yml +45 -0
- versatil-0.3.0/.github/workflows/publish.yml +41 -0
- versatil-0.3.0/.gitignore +154 -0
- versatil-0.3.0/.gitlab-ci.yml +115 -0
- versatil-0.3.0/.pre-commit-config.yaml +9 -0
- versatil-0.3.0/CHANGELOG.md +132 -0
- versatil-0.3.0/CLAUDE.md +687 -0
- versatil-0.3.0/LICENSE +21 -0
- versatil-0.3.0/PKG-INFO +56 -0
- versatil-0.3.0/README.md +620 -0
- versatil-0.3.0/docs/architecture/algorithms.md +314 -0
- versatil-0.3.0/docs/architecture/data.md +340 -0
- versatil-0.3.0/docs/architecture/decoders.md +345 -0
- versatil-0.3.0/docs/architecture/encoding.md +549 -0
- versatil-0.3.0/docs/architecture/inference.md +335 -0
- versatil-0.3.0/docs/architecture/overview.md +221 -0
- versatil-0.3.0/docs/architecture/post_training_compression.md +152 -0
- versatil-0.3.0/docs/changelog.md +121 -0
- versatil-0.3.0/docs/gen_ref_pages.py +28 -0
- versatil-0.3.0/docs/getting-started/configuration.md +264 -0
- versatil-0.3.0/docs/getting-started/installation.md +125 -0
- versatil-0.3.0/docs/getting-started/training.md +281 -0
- versatil-0.3.0/docs/index.md +154 -0
- versatil-0.3.0/docs/known-issues.md +54 -0
- versatil-0.3.0/docs/media/VersatIL_logo.png +0 -0
- versatil-0.3.0/docs/media/VersatIL_transparent.png +0 -0
- versatil-0.3.0/environment.yml +8 -0
- versatil-0.3.0/hydra_configs/README.md +23 -0
- versatil-0.3.0/hydra_configs/end_to_end_ptq/unstructured_prune_x86.yaml +21 -0
- versatil-0.3.0/hydra_configs/end_to_end_ptq/unstructured_prune_x86_decoder_only.yaml +28 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/ant/act_flow_state.yaml +76 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/ant/bcat_state.yaml +75 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/ant/conditional_mmd_cwae_learned_prior_state.yaml +127 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/ant/kl_cvae_learned_prior_state.yaml +104 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/ant/kl_cvae_state.yaml +96 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/ant/lat_flow_state.yaml +127 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/ant/relaxed_conditional_sinkhorn_cwae_learned_prior_state.yaml +118 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/block_pushing/act_flow_state.yaml +77 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/block_pushing/bcat_state.yaml +75 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/block_pushing/conditional_mmd_cwae_learned_prior_state.yaml +130 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/block_pushing/flow_dit_state.yaml +65 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/block_pushing/flow_dit_state_abs.yaml +65 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/block_pushing/kl_cvae_learned_prior_state.yaml +115 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/block_pushing/kl_cvae_learned_prior_state_learned_var.yaml +117 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/block_pushing/kl_cvae_state.yaml +97 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/block_pushing/lat_flow_state.yaml +119 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/block_pushing/relaxed_conditional_sinkhorn_cwae_learned_prior_state.yaml +120 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/block_pushing/vq_vae_state.yaml +100 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/act.yaml +50 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/act_language.yaml +50 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/action_transformer.yaml +55 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/action_transformer_language.yaml +55 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/diffusion_ca_dit.yaml +34 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/diffusion_unet.yaml +33 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/discrete_detr.yaml +35 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/flow_dit_block.yaml +33 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/flow_unet.yaml +33 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/free_transformer.yaml +38 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/free_transformer_mmd.yaml +38 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/gpt_transformer.yaml +35 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/lact.yaml +55 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/lact_language.yaml +60 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/mixture_act.yaml +56 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/moe_free_transformer.yaml +38 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/phase_act.yaml +35 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/phase_act_depth.yaml +34 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/phase_act_mmd.yaml +35 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/bowel_retraction/phase_language_act.yaml +39 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/kitchen/act_flow_rgb.yaml +94 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/kitchen/act_flow_state.yaml +84 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/kitchen/bcat_rgb.yaml +86 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/kitchen/bcat_state.yaml +76 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/kitchen/conditional_mmd_cwae_learned_prior_rgb.yaml +143 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/kitchen/conditional_mmd_cwae_learned_prior_state.yaml +133 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/kitchen/kl_cvae_learned_prior_rgb.yaml +126 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/kitchen/kl_cvae_learned_prior_state.yaml +116 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/kitchen/kl_cvae_rgb.yaml +109 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/kitchen/kl_cvae_state.yaml +99 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/kitchen/lat_flow_rgb.yaml +141 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/kitchen/lat_flow_state.yaml +131 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/kitchen/relaxed_conditional_sinkhorn_cwae_learned_prior_rgb.yaml +133 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/kitchen/relaxed_conditional_sinkhorn_cwae_learned_prior_state.yaml +123 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_hdf5/act.yaml +59 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_hdf5/action_transformer.yaml +59 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_hdf5/action_transformer_language.yaml +70 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_hdf5/flow_dit_block.yaml +68 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_hdf5/flow_dit_cross_attention.yaml +66 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_hdf5/flow_dit_multimodal.yaml +65 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_hdf5/flow_unet.yaml +68 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_hdf5/lact.yaml +72 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_hdf5/lact_language.yaml +70 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_lerobot/act.yaml +60 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_lerobot/action_transformer.yaml +74 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_lerobot/action_transformer_language.yaml +76 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_lerobot/action_transformer_language_tiny.yaml +76 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_lerobot/flow_dit_cross_attention.yaml +80 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_lerobot/flow_dit_multimodal.yaml +80 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_lerobot/gpt_transformer.yaml +58 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_lerobot/lact.yaml +71 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_lerobot/lact_ot.yaml +65 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_lerobot/mode_act.yaml +68 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_lerobot/pi0.yaml +81 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_lerobot/smolvla.yaml +79 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/action_transformer_language.yaml +76 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/language_sweep/bert_base.yaml +75 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/language_sweep/bge_base_en_v1_5.yaml +75 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/language_sweep/distilroberta_base.yaml +75 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/language_sweep/embeddinggemma_300m.yaml +75 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/language_sweep/llama_nemotron_embed_1b_v2.yaml +75 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/language_sweep/minilm_l12.yaml +75 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/language_sweep/minilm_l6.yaml +75 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/language_sweep/qwen3_embedding_0_6b.yaml +76 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/language_sweep/roberta_base.yaml +75 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/vision_sweep/clip_vitb32.yaml +73 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/vision_sweep/convnextv2_nano.yaml +73 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/vision_sweep/dinov3_convnext_small.yaml +75 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/vision_sweep/dinov3_convnext_small_frozen.yaml +75 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/vision_sweep/efficientnet_b0.yaml +73 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/vision_sweep/mobilenetv4_s.yaml +73 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/vision_sweep/resnet18.yaml +73 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/vision_sweep/siglip2_base.yaml +73 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/libero_plus/vision_sweep/tiny_vit_21m.yaml +73 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/metaworld/action_transformer.yaml +70 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/metaworld/action_transformer_language.yaml +70 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/metaworld/action_transformer_language_tiny.yaml +67 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/metaworld/flow_dit_cross_attention.yaml +75 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/metaworld/flow_dit_multimodal.yaml +75 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/multimodal_peg_transfer/action_transformer.yaml +81 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/multimodal_peg_transfer/flow_dit_prior.yaml +139 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/multimodal_peg_transfer/flow_mmdit.yaml +86 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/multimodal_peg_transfer/kl_prior.yaml +106 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/act_flow_rgb.yaml +86 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/act_flow_state.yaml +76 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/conditional_mmd_cwae_learned_prior_rgb.yaml +139 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/conditional_mmd_cwae_learned_prior_state.yaml +129 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/kl_cvae_learned_prior_rgb.yaml +125 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/kl_cvae_learned_prior_rgb_learned_var.yaml +127 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/kl_cvae_learned_prior_state.yaml +115 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/kl_cvae_learned_prior_state_learned_var.yaml +117 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/kl_cvae_rgb.yaml +106 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/kl_cvae_state.yaml +96 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/lat_flow_rgb.yaml +138 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/lat_flow_state.yaml +128 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/relaxed_conditional_sinkhorn_cwae_learned_prior_rgb.yaml +130 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/relaxed_conditional_sinkhorn_cwae_learned_prior_state.yaml +120 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/sinkhorn_cwae_fixed_gaussian_rgb.yaml +118 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/sinkhorn_cwae_fixed_gaussian_state.yaml +108 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/sinkhorn_cwae_learned_prior_rgb.yaml +127 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/sinkhorn_cwae_learned_prior_state.yaml +117 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/vq_vae_prior_rgb_800_200.yaml +162 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/vq_vae_prior_state_800_200.yaml +150 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/vq_vae_rgb.yaml +110 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/vq_vae_state.yaml +100 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/pusht/vq_vae_state_codes16.yaml +100 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/circle_kl_cvae.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/circle_lat_flow.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/circle_mmd_cwae_fixed_gaussian.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/circle_sinkhorn_cwae_fixed_gaussian.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/corridor_k16_kl_cvae.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/corridor_k16_lat_flow.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/corridor_k16_mmd_cwae_fixed_gaussian.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/corridor_k16_sinkhorn_cwae_fixed_gaussian.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/kl_cvae.yaml +83 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/lat_flow.yaml +103 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/mmd_cwae_fixed_gaussian.yaml +92 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/radial_k16_kl_cvae.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/radial_k16_lat_flow.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/radial_k16_mmd_cwae_fixed_gaussian.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/radial_k16_sinkhorn_cwae_fixed_gaussian.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/sequential_kl_cvae.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/sequential_lat_flow.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/sequential_mmd_cwae_fixed_gaussian.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/sequential_sinkhorn_cwae_fixed_gaussian.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/fixed_gaussian_nodropout/sinkhorn_cwae_fixed_gaussian.yaml +87 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/learned_prior_conditional/circle_conditional_mmd_cwae.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/learned_prior_conditional/circle_relaxed_conditional_sinkhorn_cwae.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/learned_prior_conditional/conditional_mmd_cwae.yaml +120 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/learned_prior_conditional/corridor_k16_conditional_mmd_cwae.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/learned_prior_conditional/corridor_k16_relaxed_conditional_sinkhorn_cwae.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/learned_prior_conditional/radial_k16_conditional_mmd_cwae.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/learned_prior_conditional/radial_k16_relaxed_conditional_sinkhorn_cwae.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/learned_prior_conditional/relaxed_conditional_sinkhorn_cwae.yaml +110 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/learned_prior_conditional/sequential_conditional_mmd_cwae.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/ablations/learned_prior_conditional/sequential_relaxed_conditional_sinkhorn_cwae.yaml +12 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/act_diff.yaml +64 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/act_flow.yaml +64 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/bcat.yaml +57 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/bcat_conditional.yaml +57 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/kl_cvae_fixed_gaussian.yaml +78 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/lat_flow.yaml +106 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/mdn_action_transformer.yaml +69 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/mmd_cwae_fixed_gaussian.yaml +95 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/sinkhorn_cwae_fixed_gaussian.yaml +91 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/synthetic/vq_vae.yaml +73 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/ur3/act_flow_state.yaml +76 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/ur3/bcat_state.yaml +75 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/ur3/conditional_mmd_cwae_learned_prior_state.yaml +127 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/ur3/kl_cvae_learned_prior_state.yaml +104 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/ur3/kl_cvae_state.yaml +96 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/ur3/lat_flow_state.yaml +127 -0
- versatil-0.3.0/hydra_configs/end_to_end_training_runs/ur3/relaxed_conditional_sinkhorn_cwae_learned_prior_state.yaml +118 -0
- versatil-0.3.0/hydra_configs/experiment/default.yaml +22 -0
- versatil-0.3.0/hydra_configs/experiment/synthetic.yaml +5 -0
- versatil-0.3.0/hydra_configs/inference/default.yaml +6 -0
- versatil-0.3.0/hydra_configs/inference/libero_lerobot.yaml +4 -0
- versatil-0.3.0/hydra_configs/policy/algorithm/bc_with_denoising_flow_matching_prior.yaml +42 -0
- versatil-0.3.0/hydra_configs/policy/algorithm/bc_with_deterministic_learned_prior.yaml +35 -0
- versatil-0.3.0/hydra_configs/policy/algorithm/bc_with_dit_prior.yaml +47 -0
- versatil-0.3.0/hydra_configs/policy/algorithm/bc_with_learned_prior.yaml +39 -0
- versatil-0.3.0/hydra_configs/policy/algorithm/bc_with_learned_prior_smallsize.yaml +35 -0
- versatil-0.3.0/hydra_configs/policy/algorithm/bc_with_vae_gaussian.yaml +26 -0
- versatil-0.3.0/hydra_configs/policy/algorithm/bc_with_vamp_prior.yaml +31 -0
- versatil-0.3.0/hydra_configs/policy/algorithm/bc_with_vq_learned.yaml +29 -0
- versatil-0.3.0/hydra_configs/policy/algorithm/bc_with_vq_uniform.yaml +24 -0
- versatil-0.3.0/hydra_configs/policy/algorithm/behavioral_cloning.yaml +3 -0
- versatil-0.3.0/hydra_configs/policy/algorithm/diffusion.yaml +15 -0
- versatil-0.3.0/hydra_configs/policy/algorithm/diffusion_with_vae_gaussian.yaml +37 -0
- versatil-0.3.0/hydra_configs/policy/algorithm/flow_matching.yaml +13 -0
- versatil-0.3.0/hydra_configs/policy/algorithm/flow_matching_with_dit_prior.yaml +57 -0
- versatil-0.3.0/hydra_configs/policy/decoder/act_default.yaml +24 -0
- versatil-0.3.0/hydra_configs/policy/decoder/act_language.yaml +25 -0
- versatil-0.3.0/hydra_configs/policy/decoder/action_transformer.yaml +24 -0
- versatil-0.3.0/hydra_configs/policy/decoder/action_transformer_language.yaml +26 -0
- versatil-0.3.0/hydra_configs/policy/decoder/conditional_unet.yaml +35 -0
- versatil-0.3.0/hydra_configs/policy/decoder/discrete_detr_transformer.yaml +27 -0
- versatil-0.3.0/hydra_configs/policy/decoder/dit_block_transformer.yaml +31 -0
- versatil-0.3.0/hydra_configs/policy/decoder/dit_cross_attention_transformer.yaml +31 -0
- versatil-0.3.0/hydra_configs/policy/decoder/dit_multimodal.yaml +31 -0
- versatil-0.3.0/hydra_configs/policy/decoder/free_action_transformer.yaml +36 -0
- versatil-0.3.0/hydra_configs/policy/decoder/gpt_action_transformer.yaml +35 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/ant_8d.yaml +12 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/block_pushing_2d.yaml +12 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/bowel_retraction.yaml +23 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/bowel_retraction_phase.yaml +47 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/gaussian_bowel_retraction.yaml +25 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/gaussian_libero.yaml +39 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/gaussian_synthetic_2d.yaml +13 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/kitchen_9d.yaml +12 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/libero.yaml +36 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/libero_vla.yaml +12 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/metaworld_mt50.yaml +24 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/pusht_2d.yaml +12 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/robot_pos_gripper.yaml +24 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/synthetic_2d.yaml +11 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/tokenized.yaml +3 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/tokenized_moe.yaml +16 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/unet_bowel_retraction.yaml +9 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/unet_libero.yaml +12 -0
- versatil-0.3.0/hydra_configs/policy/decoder/heads/ur3_2d.yaml +12 -0
- versatil-0.3.0/hydra_configs/policy/decoder/lact.yaml +27 -0
- versatil-0.3.0/hydra_configs/policy/decoder/mixture_density_act.yaml +29 -0
- versatil-0.3.0/hydra_configs/policy/decoder/mixture_of_act.yaml +61 -0
- versatil-0.3.0/hydra_configs/policy/decoder/moe_free_action_transformer.yaml +34 -0
- versatil-0.3.0/hydra_configs/policy/decoder/phase_act_default.yaml +28 -0
- versatil-0.3.0/hydra_configs/policy/decoder/phase_act_depth.yaml +28 -0
- versatil-0.3.0/hydra_configs/policy/decoder/phase_act_language.yaml +29 -0
- versatil-0.3.0/hydra_configs/policy/decoder/pi0_decoder.yaml +25 -0
- versatil-0.3.0/hydra_configs/policy/decoder/smolvla_decoder.yaml +23 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/ant_state.yaml +14 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/block_pushing_state.yaml +20 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/kitchen_rgb.yaml +15 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/kitchen_state.yaml +12 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/language_conditional_stereo_rgb_pooled.yaml +35 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/mono_rgb.yaml +15 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/mono_rgb_context.yaml +22 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/mono_rgb_language_encoder.yaml +23 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/mono_rgb_language_encoder_tiny.yaml +23 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/mono_vlm.yaml +14 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/paligemma_embeddings.yaml +26 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/pusht_rgb.yaml +15 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/pusht_rgb_proprio.yaml +21 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/pusht_state.yaml +12 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/smolvlm_embeddings.yaml +27 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/stereo_rgb.yaml +24 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/stereo_rgb_dformer.yaml +32 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/stereo_rgb_geometric_depth.yaml +22 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/stereo_rgb_geometric_depth_language_encoder.yaml +31 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/stereo_rgb_language_encoder.yaml +34 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/stereo_rgb_language_encoder_tiny.yaml +33 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/stereo_rgb_language_pooled_attention_fusion.yaml +43 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/stereo_rgb_pooled.yaml +24 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/stereo_rgb_pooled_proprioceptive_camera_frame.yaml +29 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/stereo_vit_language_encoder.yaml +32 -0
- versatil-0.3.0/hydra_configs/policy/encoding_pipeline/ur3_state.yaml +14 -0
- versatil-0.3.0/hydra_configs/policy/loss/fixed_variance_negative_loglikelihood_KL.yaml +44 -0
- versatil-0.3.0/hydra_configs/policy/loss/fixed_variance_negative_loglikelihood_phaseCE_MMD.yaml +43 -0
- versatil-0.3.0/hydra_configs/policy/loss/gaussian_mixture_nll_synthetic.yaml +25 -0
- versatil-0.3.0/hydra_configs/policy/loss/moe_regression_gripper_KL.yaml +37 -0
- versatil-0.3.0/hydra_configs/policy/loss/moe_regression_gripper_MMD.yaml +37 -0
- versatil-0.3.0/hydra_configs/policy/loss/moe_tokenCE_binary_KL.yaml +8 -0
- versatil-0.3.0/hydra_configs/policy/loss/negative_loglikelihood.yaml +28 -0
- versatil-0.3.0/hydra_configs/policy/loss/optimal_transport_binary_gripper_latent_MMD.yaml +32 -0
- versatil-0.3.0/hydra_configs/policy/loss/regressionMSE_gripper.yaml +26 -0
- versatil-0.3.0/hydra_configs/policy/loss/regressionMSE_gripper_KL.yaml +30 -0
- versatil-0.3.0/hydra_configs/policy/loss/regressionMSE_gripper_MMD_denoising_prior.yaml +35 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_KL.yaml +23 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_MMD.yaml +27 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_MMD_denoising_prior.yaml +32 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_OT.yaml +26 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_conditional_MMD.yaml +33 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_continuous_gripper.yaml +28 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_denoising_prior.yaml +23 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_gripper.yaml +26 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_gripper_KL.yaml +26 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_gripper_KL_phaseCE.yaml +47 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_gripper_MMD.yaml +29 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_gripper_MMD_phaseCE.yaml +47 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_gripper_MMD_vic_latent.yaml +35 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_gripper_denoising_prior.yaml +36 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_gripper_l1.yaml +22 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_gripper_mse.yaml +22 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_l1_binary_gripper_latent_ot.yaml +32 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_moe_synthetic.yaml +25 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_relaxed_conditional_OT.yaml +30 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_synthetic.yaml +19 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_vq.yaml +26 -0
- versatil-0.3.0/hydra_configs/policy/loss/regression_vq_ce.yaml +31 -0
- versatil-0.3.0/hydra_configs/policy/loss/tokenCE.yaml +9 -0
- versatil-0.3.0/hydra_configs/policy/loss/tokenCE_KL.yaml +12 -0
- versatil-0.3.0/hydra_configs/policy/loss/tokenCE_KL_denoising_prior.yaml +15 -0
- versatil-0.3.0/hydra_configs/policy/loss/tokenCE_MMD.yaml +13 -0
- versatil-0.3.0/hydra_configs/policy/loss/tokenCE_binary_KL.yaml +17 -0
- versatil-0.3.0/hydra_configs/quantization/x86_static_pt2e.yaml +8 -0
- versatil-0.3.0/hydra_configs/synthetic_presets/README.md +17 -0
- versatil-0.3.0/hydra_configs/synthetic_presets/circle.yaml +23 -0
- versatil-0.3.0/hydra_configs/synthetic_presets/conditional_circle.yaml +22 -0
- versatil-0.3.0/hydra_configs/synthetic_presets/corridor_k16.yaml +26 -0
- versatil-0.3.0/hydra_configs/synthetic_presets/corridor_k8.yaml +26 -0
- versatil-0.3.0/hydra_configs/synthetic_presets/radial_k16.yaml +26 -0
- versatil-0.3.0/hydra_configs/synthetic_presets/radial_k8.yaml +26 -0
- versatil-0.3.0/hydra_configs/synthetic_presets/sequential.yaml +22 -0
- versatil-0.3.0/hydra_configs/task/action_space/ant_precomputed.yaml +16 -0
- versatil-0.3.0/hydra_configs/task/action_space/block_pushing_abs_precomputed.yaml +17 -0
- versatil-0.3.0/hydra_configs/task/action_space/block_pushing_precomputed.yaml +17 -0
- versatil-0.3.0/hydra_configs/task/action_space/deltas_cf_pos_gripper.yaml +31 -0
- versatil-0.3.0/hydra_configs/task/action_space/deltas_cf_pos_gripper_phase.yaml +40 -0
- versatil-0.3.0/hydra_configs/task/action_space/deltas_robot_pos_gripper.yaml +31 -0
- versatil-0.3.0/hydra_configs/task/action_space/kitchen_precomputed.yaml +16 -0
- versatil-0.3.0/hydra_configs/task/action_space/libero_precomputed.yaml +42 -0
- versatil-0.3.0/hydra_configs/task/action_space/libero_precomputed_lerobot.yaml +42 -0
- versatil-0.3.0/hydra_configs/task/action_space/metaworld_mt50_precomputed.yaml +29 -0
- versatil-0.3.0/hydra_configs/task/action_space/pusht_precomputed.yaml +16 -0
- versatil-0.3.0/hydra_configs/task/action_space/synthetic_2d.yaml +16 -0
- versatil-0.3.0/hydra_configs/task/action_space/ur3_precomputed.yaml +16 -0
- versatil-0.3.0/hydra_configs/task/dataloader/ant_state.yaml +22 -0
- versatil-0.3.0/hydra_configs/task/dataloader/block_pushing_state.yaml +22 -0
- versatil-0.3.0/hydra_configs/task/dataloader/bowel_retraction.yaml +28 -0
- versatil-0.3.0/hydra_configs/task/dataloader/bowel_retraction_language.yaml +29 -0
- versatil-0.3.0/hydra_configs/task/dataloader/bowel_retraction_minmax_spatial_aug.yaml +28 -0
- versatil-0.3.0/hydra_configs/task/dataloader/bowel_retraction_tokenized_actions.yaml +25 -0
- versatil-0.3.0/hydra_configs/task/dataloader/image_augmentations/color.yaml +29 -0
- versatil-0.3.0/hydra_configs/task/dataloader/image_augmentations/light_color.yaml +12 -0
- versatil-0.3.0/hydra_configs/task/dataloader/image_augmentations/light_spatial.yaml +10 -0
- versatil-0.3.0/hydra_configs/task/dataloader/image_augmentations/rotation.yaml +7 -0
- versatil-0.3.0/hydra_configs/task/dataloader/image_augmentations/spatial.yaml +15 -0
- versatil-0.3.0/hydra_configs/task/dataloader/image_augmentations/strong_color.yaml +28 -0
- versatil-0.3.0/hydra_configs/task/dataloader/image_augmentations/strong_spatial.yaml +15 -0
- versatil-0.3.0/hydra_configs/task/dataloader/kitchen_rgb.yaml +23 -0
- versatil-0.3.0/hydra_configs/task/dataloader/kitchen_state.yaml +22 -0
- versatil-0.3.0/hydra_configs/task/dataloader/libero.yaml +30 -0
- versatil-0.3.0/hydra_configs/task/dataloader/libero_lerobot.yaml +28 -0
- versatil-0.3.0/hydra_configs/task/dataloader/metaworld.yaml +29 -0
- versatil-0.3.0/hydra_configs/task/dataloader/pusht_rgb.yaml +23 -0
- versatil-0.3.0/hydra_configs/task/dataloader/pusht_state.yaml +22 -0
- versatil-0.3.0/hydra_configs/task/dataloader/synthetic_default.yaml +23 -0
- versatil-0.3.0/hydra_configs/task/dataloader/tokenization/action_fast.yaml +10 -0
- versatil-0.3.0/hydra_configs/task/dataloader/tokenization/obs_language.yaml +10 -0
- versatil-0.3.0/hydra_configs/task/dataloader/tokenization/obs_language_action_fast.yaml +15 -0
- versatil-0.3.0/hydra_configs/task/dataloader/tokenization/obs_language_proprio_rf_gripper.yaml +13 -0
- versatil-0.3.0/hydra_configs/task/dataloader/tokenization/obs_proprio_action_fast.yaml +17 -0
- versatil-0.3.0/hydra_configs/task/dataloader/tokenization/obs_proprio_cam_language.yaml +13 -0
- versatil-0.3.0/hydra_configs/task/dataloader/tokenization/obs_proprio_cf_action_fast.yaml +15 -0
- versatil-0.3.0/hydra_configs/task/dataloader/ur3_state.yaml +27 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/ant.yaml +8 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/block_pushing.yaml +8 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/block_pushing_abs.yaml +8 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/bowel_retraction_invivo.yaml +11 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/bowel_retraction_v2.yaml +11 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/bowel_retraction_v4.yaml +15 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/kitchen.yaml +8 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/libero_10.yaml +30 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/libero_all.yaml +143 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/libero_lerobot.yaml +8 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/libero_object.yaml +18 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/libero_plus_lerobot.yaml +8 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/metaworld_mt50.yaml +8 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/multimodal_peg_transfer.yaml +21 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/pusht.yaml +8 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/synthetic/circle.yaml +16 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/synthetic/conditional_circle.yaml +16 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/synthetic/corridor_navigation.yaml +16 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/synthetic/radial.yaml +16 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/synthetic/sequential.yaml +16 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/ur3.yaml +8 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/zarr_meta/ant.yaml +55 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/zarr_meta/block_pushing.yaml +120 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/zarr_meta/block_pushing_abs.yaml +120 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/zarr_meta/bowel_retraction.yaml +72 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/zarr_meta/kitchen.yaml +51 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/zarr_meta/libero.yaml +90 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/zarr_meta/libero_lerobot.yaml +96 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/zarr_meta/libero_plus_lerobot.yaml +96 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/zarr_meta/metaworld_mt50.yaml +64 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/zarr_meta/multimodal_peg_transfer.yaml +40 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/zarr_meta/pusht.yaml +73 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/zarr_meta/synthetic.yaml +47 -0
- versatil-0.3.0/hydra_configs/task/dataset_schema/zarr_meta/ur3.yaml +48 -0
- versatil-0.3.0/hydra_configs/task/observation_space/ant_state.yaml +38 -0
- versatil-0.3.0/hydra_configs/task/observation_space/block_pushing_state.yaml +109 -0
- versatil-0.3.0/hydra_configs/task/observation_space/kitchen_rgb.yaml +13 -0
- versatil-0.3.0/hydra_configs/task/observation_space/kitchen_state.yaml +25 -0
- versatil-0.3.0/hydra_configs/task/observation_space/libero_plus_rgb_lerobot.yaml +29 -0
- versatil-0.3.0/hydra_configs/task/observation_space/libero_rgb.yaml +29 -0
- versatil-0.3.0/hydra_configs/task/observation_space/libero_rgb_lerobot.yaml +29 -0
- versatil-0.3.0/hydra_configs/task/observation_space/libero_rgb_proprio_lerobot.yaml +60 -0
- versatil-0.3.0/hydra_configs/task/observation_space/metaworld_mt50_rgb.yaml +21 -0
- versatil-0.3.0/hydra_configs/task/observation_space/pusht_rgb.yaml +13 -0
- versatil-0.3.0/hydra_configs/task/observation_space/pusht_rgb_proprio.yaml +23 -0
- versatil-0.3.0/hydra_configs/task/observation_space/pusht_state.yaml +55 -0
- versatil-0.3.0/hydra_configs/task/observation_space/stereo_rgb.yaml +21 -0
- versatil-0.3.0/hydra_configs/task/observation_space/stereo_rgb_270.yaml +21 -0
- versatil-0.3.0/hydra_configs/task/observation_space/stereo_rgb_language_proprio_cf.yaml +37 -0
- versatil-0.3.0/hydra_configs/task/observation_space/stereo_rgb_proprio.yaml +37 -0
- versatil-0.3.0/hydra_configs/task/observation_space/stereo_rgb_proprio_cf.yaml +29 -0
- versatil-0.3.0/hydra_configs/task/observation_space/stereo_rgb_robot_proprio.yaml +29 -0
- versatil-0.3.0/hydra_configs/task/observation_space/stereo_rgbd.yaml +29 -0
- versatil-0.3.0/hydra_configs/task/observation_space/stereo_rgbd_language_proprio_cf.yaml +45 -0
- versatil-0.3.0/hydra_configs/task/observation_space/synthetic_image.yaml +21 -0
- versatil-0.3.0/hydra_configs/task/observation_space/synthetic_image_state.yaml +29 -0
- versatil-0.3.0/hydra_configs/task/observation_space/synthetic_image_state_context.yaml +37 -0
- versatil-0.3.0/hydra_configs/task/observation_space/ur3_state.yaml +38 -0
- versatil-0.3.0/hydra_configs/training/default.yaml +38 -0
- versatil-0.3.0/hydra_configs/training/ema.yaml +33 -0
- versatil-0.3.0/hydra_configs/training/ema_cosine_schedule.yaml +29 -0
- versatil-0.3.0/hydra_configs/training/gpt_decoder_default.yaml +32 -0
- versatil-0.3.0/hydra_configs/training/latent.yaml +41 -0
- versatil-0.3.0/hydra_configs/training/multistage/vae_frozen_prior.yaml +23 -0
- versatil-0.3.0/hydra_configs/training/multistage/vae_frozen_prior_with_backbone.yaml +25 -0
- versatil-0.3.0/hydra_configs/training/optimizer/adam.yaml +10 -0
- versatil-0.3.0/hydra_configs/training/optimizer/adamw.yaml +11 -0
- versatil-0.3.0/hydra_configs/training/optimizer/param_groups/variational_prior.yaml +10 -0
- versatil-0.3.0/hydra_configs/training/optimizer/param_groups/variational_prior_with_backbone.yaml +14 -0
- versatil-0.3.0/hydra_configs/training/optimizer/sgd.yaml +10 -0
- versatil-0.3.0/hydra_configs/training/phase_act_default.yaml +29 -0
- versatil-0.3.0/hydra_configs/training/synthetic.yaml +25 -0
- versatil-0.3.0/media/VersatIL_logo.png +0 -0
- versatil-0.3.0/mkdocs.yml +105 -0
- versatil-0.3.0/pyproject.toml +214 -0
- versatil-0.3.0/src/versatil/__init__.py +85 -0
- versatil-0.3.0/src/versatil/common/__init__.py +1 -0
- versatil-0.3.0/src/versatil/common/argparse_compat.py +50 -0
- versatil-0.3.0/src/versatil/common/dict_of_tensor_mixin.py +48 -0
- versatil-0.3.0/src/versatil/common/logging.py +16 -0
- versatil-0.3.0/src/versatil/common/module_attr_mixin.py +17 -0
- versatil-0.3.0/src/versatil/common/omegaconf_ops.py +33 -0
- versatil-0.3.0/src/versatil/common/set_cache_dir.py +21 -0
- versatil-0.3.0/src/versatil/common/tensor_ops.py +126 -0
- versatil-0.3.0/src/versatil/configs/__init__.py +1047 -0
- versatil-0.3.0/src/versatil/configs/data/__init__.py +0 -0
- versatil-0.3.0/src/versatil/configs/data/augmentations.py +134 -0
- versatil-0.3.0/src/versatil/configs/data/dataloader.py +60 -0
- versatil-0.3.0/src/versatil/configs/data/metadata.py +130 -0
- versatil-0.3.0/src/versatil/configs/data/raw/__init__.py +8 -0
- versatil-0.3.0/src/versatil/configs/data/raw/schema.py +57 -0
- versatil-0.3.0/src/versatil/configs/data/raw/zarr_meta.py +24 -0
- versatil-0.3.0/src/versatil/configs/data/task.py +66 -0
- versatil-0.3.0/src/versatil/configs/data/tokenizer.py +45 -0
- versatil-0.3.0/src/versatil/configs/decoding/__init__.py +0 -0
- versatil-0.3.0/src/versatil/configs/decoding/action_head.py +101 -0
- versatil-0.3.0/src/versatil/configs/decoding/algorithm.py +124 -0
- versatil-0.3.0/src/versatil/configs/decoding/decoder.py +414 -0
- versatil-0.3.0/src/versatil/configs/decoding/latent.py +228 -0
- versatil-0.3.0/src/versatil/configs/encoding/__init__.py +0 -0
- versatil-0.3.0/src/versatil/configs/encoding/encoder.py +196 -0
- versatil-0.3.0/src/versatil/configs/encoding/fusion.py +45 -0
- versatil-0.3.0/src/versatil/configs/encoding/pipeline.py +18 -0
- versatil-0.3.0/src/versatil/configs/experiment.py +33 -0
- versatil-0.3.0/src/versatil/configs/inference.py +15 -0
- versatil-0.3.0/src/versatil/configs/loss.py +293 -0
- versatil-0.3.0/src/versatil/configs/main.py +33 -0
- versatil-0.3.0/src/versatil/configs/policy.py +28 -0
- versatil-0.3.0/src/versatil/configs/post_training_compression.py +97 -0
- versatil-0.3.0/src/versatil/configs/quantization.py +67 -0
- versatil-0.3.0/src/versatil/configs/training.py +195 -0
- versatil-0.3.0/src/versatil/data/__init__.py +0 -0
- versatil-0.3.0/src/versatil/data/constants.py +279 -0
- versatil-0.3.0/src/versatil/data/dataloader.py +286 -0
- versatil-0.3.0/src/versatil/data/episodic_dataset.py +376 -0
- versatil-0.3.0/src/versatil/data/metadata.py +673 -0
- versatil-0.3.0/src/versatil/data/normalization/__init__.py +0 -0
- versatil-0.3.0/src/versatil/data/normalization/image_normalizer.py +458 -0
- versatil-0.3.0/src/versatil/data/normalization/normalizer.py +647 -0
- versatil-0.3.0/src/versatil/data/preprocessing/__init__.py +0 -0
- versatil-0.3.0/src/versatil/data/preprocessing/codecs.py +96 -0
- versatil-0.3.0/src/versatil/data/preprocessing/create_zarr_arrays.py +126 -0
- versatil-0.3.0/src/versatil/data/preprocessing/create_zarr_from_csv.py +68 -0
- versatil-0.3.0/src/versatil/data/preprocessing/create_zarr_from_hdf5.py +71 -0
- versatil-0.3.0/src/versatil/data/preprocessing/create_zarr_from_lerobot.py +57 -0
- versatil-0.3.0/src/versatil/data/preprocessing/create_zarr_from_synthetic.py +136 -0
- versatil-0.3.0/src/versatil/data/preprocessing/replay_buffer.py +1094 -0
- versatil-0.3.0/src/versatil/data/preprocessing/sampler.py +282 -0
- versatil-0.3.0/src/versatil/data/processing/__init__.py +0 -0
- versatil-0.3.0/src/versatil/data/processing/action_processor.py +354 -0
- versatil-0.3.0/src/versatil/data/processing/image_processor.py +102 -0
- versatil-0.3.0/src/versatil/data/processing/transform.py +240 -0
- versatil-0.3.0/src/versatil/data/processing/transform_builder.py +605 -0
- versatil-0.3.0/src/versatil/data/raw/__init__.py +0 -0
- versatil-0.3.0/src/versatil/data/raw/schemas/__init__.py +3 -0
- versatil-0.3.0/src/versatil/data/raw/schemas/base.py +118 -0
- versatil-0.3.0/src/versatil/data/raw/schemas/csv.py +52 -0
- versatil-0.3.0/src/versatil/data/raw/schemas/custom/__init__.py +3 -0
- versatil-0.3.0/src/versatil/data/raw/schemas/custom/libero.py +184 -0
- versatil-0.3.0/src/versatil/data/raw/schemas/custom/synthetic.py +170 -0
- versatil-0.3.0/src/versatil/data/raw/schemas/custom/tso.py +321 -0
- versatil-0.3.0/src/versatil/data/raw/schemas/hdf5.py +62 -0
- versatil-0.3.0/src/versatil/data/raw/schemas/lerobot.py +546 -0
- versatil-0.3.0/src/versatil/data/raw/zarr_meta.py +213 -0
- versatil-0.3.0/src/versatil/data/sample_builder.py +242 -0
- versatil-0.3.0/src/versatil/data/synthetic/__init__.py +3 -0
- versatil-0.3.0/src/versatil/data/synthetic/assets/RobotoSerif.ttf +0 -0
- versatil-0.3.0/src/versatil/data/synthetic/constants.py +121 -0
- versatil-0.3.0/src/versatil/data/synthetic/generators.py +865 -0
- versatil-0.3.0/src/versatil/data/synthetic/renderer.py +145 -0
- versatil-0.3.0/src/versatil/data/synthetic/task_layout.py +164 -0
- versatil-0.3.0/src/versatil/data/synthetic/visualization.py +416 -0
- versatil-0.3.0/src/versatil/data/task.py +410 -0
- versatil-0.3.0/src/versatil/data/tokenization/__init__.py +17 -0
- versatil-0.3.0/src/versatil/data/tokenization/action_tokenizer.py +576 -0
- versatil-0.3.0/src/versatil/data/tokenization/binning_tokenizer.py +187 -0
- versatil-0.3.0/src/versatil/data/tokenization/fast.py +89 -0
- versatil-0.3.0/src/versatil/data/tokenization/observation_tokenizer.py +388 -0
- versatil-0.3.0/src/versatil/data/tokenization/tokenizer.py +148 -0
- versatil-0.3.0/src/versatil/endpoints/__init__.py +1 -0
- versatil-0.3.0/src/versatil/endpoints/explain.py +334 -0
- versatil-0.3.0/src/versatil/endpoints/post_training_compress.py +37 -0
- versatil-0.3.0/src/versatil/endpoints/test.py +193 -0
- versatil-0.3.0/src/versatil/endpoints/train.py +53 -0
- versatil-0.3.0/src/versatil/explain/__init__.py +23 -0
- versatil-0.3.0/src/versatil/explain/constants.py +11 -0
- versatil-0.3.0/src/versatil/explain/explainer.py +526 -0
- versatil-0.3.0/src/versatil/inference/__init__.py +1 -0
- versatil-0.3.0/src/versatil/inference/action_postprocessor.py +183 -0
- versatil-0.3.0/src/versatil/inference/inference_client.py +479 -0
- versatil-0.3.0/src/versatil/inference/observation_buffer.py +68 -0
- versatil-0.3.0/src/versatil/inference/observation_preprocessor.py +206 -0
- versatil-0.3.0/src/versatil/inference/policy_loading/__init__.py +1 -0
- versatil-0.3.0/src/versatil/inference/policy_loading/base.py +285 -0
- versatil-0.3.0/src/versatil/inference/policy_loading/compressed_loader.py +365 -0
- versatil-0.3.0/src/versatil/inference/policy_loading/float_loader.py +130 -0
- versatil-0.3.0/src/versatil/inference/protocol.py +69 -0
- versatil-0.3.0/src/versatil/inference/socket_transport.py +116 -0
- versatil-0.3.0/src/versatil/inference/synthetic_rollout.py +459 -0
- versatil-0.3.0/src/versatil/inference/temporal_aggregation.py +112 -0
- versatil-0.3.0/src/versatil/metrics/__init__.py +1 -0
- versatil-0.3.0/src/versatil/metrics/accumulators.py +391 -0
- versatil-0.3.0/src/versatil/metrics/base.py +237 -0
- versatil-0.3.0/src/versatil/metrics/components.py +2541 -0
- versatil-0.3.0/src/versatil/metrics/composite.py +92 -0
- versatil-0.3.0/src/versatil/metrics/constants.py +112 -0
- versatil-0.3.0/src/versatil/metrics/kernels.py +278 -0
- versatil-0.3.0/src/versatil/metrics/ot_loss.py +457 -0
- versatil-0.3.0/src/versatil/metrics/synthetic_metrics.py +302 -0
- versatil-0.3.0/src/versatil/models/__init__.py +0 -0
- versatil-0.3.0/src/versatil/models/decoding/__init__.py +5 -0
- versatil-0.3.0/src/versatil/models/decoding/action_heads/__init__.py +35 -0
- versatil-0.3.0/src/versatil/models/decoding/action_heads/base.py +73 -0
- versatil-0.3.0/src/versatil/models/decoding/action_heads/blocks.py +180 -0
- versatil-0.3.0/src/versatil/models/decoding/action_heads/gaussian.py +62 -0
- versatil-0.3.0/src/versatil/models/decoding/action_heads/moe.py +265 -0
- versatil-0.3.0/src/versatil/models/decoding/action_heads/single_output.py +27 -0
- versatil-0.3.0/src/versatil/models/decoding/action_masking.py +142 -0
- versatil-0.3.0/src/versatil/models/decoding/algorithm/__init__.py +1 -0
- versatil-0.3.0/src/versatil/models/decoding/algorithm/base.py +115 -0
- versatil-0.3.0/src/versatil/models/decoding/algorithm/behavior_cloning.py +73 -0
- versatil-0.3.0/src/versatil/models/decoding/algorithm/diffusion.py +249 -0
- versatil-0.3.0/src/versatil/models/decoding/algorithm/flow_matching.py +333 -0
- versatil-0.3.0/src/versatil/models/decoding/algorithm/variational.py +310 -0
- versatil-0.3.0/src/versatil/models/decoding/constants.py +121 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/__init__.py +10 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/base.py +295 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/factory/__init__.py +25 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/factory/act.py +209 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/factory/action_transformer.py +160 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/factory/conditional_action_unet.py +342 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/factory/diffusion_action_transformer.py +335 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/factory/discrete_detr_action_transformer.py +276 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/factory/dit_block_action_transformer.py +295 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/factory/free_action_transformer.py +428 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/factory/gpt_action_transformer.py +541 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/factory/lact.py +263 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/factory/mode_act.py +673 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/factory/moe_free_action_transformer.py +305 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/factory/phase_act.py +172 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/factory/pi0.py +508 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/factory/smolvla.py +667 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/moe.py +174 -0
- versatil-0.3.0/src/versatil/models/decoding/decoders/timestep_conditioning.py +143 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/__init__.py +41 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/posterior/__init__.py +0 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/posterior/base_posterior.py +72 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/posterior/transformer_encoder.py +273 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/posterior/vq_encoder.py +244 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/prior/__init__.py +0 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/prior/base_prior.py +104 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/prior/codebook_prior.py +323 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/prior/dit_prior.py +555 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/prior/gaussian_prior.py +82 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/prior/latent_standardizer.py +127 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/prior/state_condition_pool.py +72 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/prior/transformer_encoder.py +218 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/prior/uniform_codebook_prior.py +190 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/prior/vamp_prior.py +339 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/protocols.py +23 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/reparametrize.py +16 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/vq/__init__.py +7 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/vq/euclidean_codebook.py +180 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/vq/residual_vq.py +148 -0
- versatil-0.3.0/src/versatil/models/decoding/latent/vq/vector_quantize.py +99 -0
- versatil-0.3.0/src/versatil/models/decoding/mixture_of_experts.py +250 -0
- versatil-0.3.0/src/versatil/models/decoding/transformer_input_builder.py +369 -0
- versatil-0.3.0/src/versatil/models/decoding/unet_input_builder.py +107 -0
- versatil-0.3.0/src/versatil/models/encoding/__init__.py +4 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/__init__.py +0 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/base.py +183 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/conditional.py +157 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/constants.py +171 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/cross_modal/__init__.py +1 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/cross_modal/rgbd/__init__.py +1 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/cross_modal/rgbd/dformerv2.py +424 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/cross_modal/rgbd/geometric_rgbd.py +250 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/cross_modal/vision_language/__init__.py +1 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/cross_modal/vision_language/generative_vlm.py +452 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/cross_modal/vision_language/paligemma.py +109 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/cross_modal/vision_language/smolvlm.py +129 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/cross_modal/vision_language/two_tower_vlm.py +301 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/depth/__init__.py +1 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/depth/spatial.py +249 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/image_mixin.py +161 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/language/__init__.py +5 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/language/language.py +235 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/language_mixin.py +157 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/proprioceptive/__init__.py +5 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/proprioceptive/base.py +148 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/rgb/__init__.py +5 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/rgb/conditional_cnn.py +372 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/rgb/flat.py +199 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/rgb/spatial.py +249 -0
- versatil-0.3.0/src/versatil/models/encoding/encoders/unconditional.py +138 -0
- versatil-0.3.0/src/versatil/models/encoding/fusion/__init__.py +12 -0
- versatil-0.3.0/src/versatil/models/encoding/fusion/attention.py +94 -0
- versatil-0.3.0/src/versatil/models/encoding/fusion/base.py +119 -0
- versatil-0.3.0/src/versatil/models/encoding/fusion/concat.py +44 -0
- versatil-0.3.0/src/versatil/models/encoding/fusion/constants.py +9 -0
- versatil-0.3.0/src/versatil/models/encoding/fusion/mlp.py +70 -0
- versatil-0.3.0/src/versatil/models/encoding/pipeline.py +399 -0
- versatil-0.3.0/src/versatil/models/exportable_policy.py +128 -0
- versatil-0.3.0/src/versatil/models/feature_meta.py +58 -0
- versatil-0.3.0/src/versatil/models/layers/__init__.py +51 -0
- versatil-0.3.0/src/versatil/models/layers/activation.py +50 -0
- versatil-0.3.0/src/versatil/models/layers/conditional_unet.py +304 -0
- versatil-0.3.0/src/versatil/models/layers/constants.py +35 -0
- versatil-0.3.0/src/versatil/models/layers/convert_layers.py +98 -0
- versatil-0.3.0/src/versatil/models/layers/convolution/__init__.py +0 -0
- versatil-0.3.0/src/versatil/models/layers/convolution/conv1d.py +35 -0
- versatil-0.3.0/src/versatil/models/layers/convolution/depthwise_conv2d.py +29 -0
- versatil-0.3.0/src/versatil/models/layers/denoising/__init__.py +1 -0
- versatil-0.3.0/src/versatil/models/layers/denoising/conditional_flow_matching.py +127 -0
- versatil-0.3.0/src/versatil/models/layers/denoising/diffusion_process.py +194 -0
- versatil-0.3.0/src/versatil/models/layers/denoising/ode_solvers.py +142 -0
- versatil-0.3.0/src/versatil/models/layers/denoising/timestep_sampling.py +195 -0
- versatil-0.3.0/src/versatil/models/layers/detr_transformer/__init__.py +20 -0
- versatil-0.3.0/src/versatil/models/layers/detr_transformer/attention.py +97 -0
- versatil-0.3.0/src/versatil/models/layers/detr_transformer/transformer.py +131 -0
- versatil-0.3.0/src/versatil/models/layers/detr_transformer/transformer_decoder.py +208 -0
- versatil-0.3.0/src/versatil/models/layers/detr_transformer/transformer_encoder.py +149 -0
- versatil-0.3.0/src/versatil/models/layers/diffusion_transformer/__init__.py +45 -0
- versatil-0.3.0/src/versatil/models/layers/diffusion_transformer/cross_attention_dit.py +174 -0
- versatil-0.3.0/src/versatil/models/layers/diffusion_transformer/dit_block_transformer.py +253 -0
- versatil-0.3.0/src/versatil/models/layers/diffusion_transformer/final_prediction_layer.py +68 -0
- versatil-0.3.0/src/versatil/models/layers/diffusion_transformer/mmdit_transformer.py +156 -0
- versatil-0.3.0/src/versatil/models/layers/drop_path.py +24 -0
- versatil-0.3.0/src/versatil/models/layers/dynamic_feature_embedding.py +70 -0
- versatil-0.3.0/src/versatil/models/layers/feature_projection.py +233 -0
- versatil-0.3.0/src/versatil/models/layers/free_transformer/__init__.py +0 -0
- versatil-0.3.0/src/versatil/models/layers/free_transformer/binary_mapper.py +161 -0
- versatil-0.3.0/src/versatil/models/layers/free_transformer/free_transformer.py +646 -0
- versatil-0.3.0/src/versatil/models/layers/frozen_batchnorm.py +52 -0
- versatil-0.3.0/src/versatil/models/layers/gated_linear_unit.py +74 -0
- versatil-0.3.0/src/versatil/models/layers/geometric_attention/__init__.py +13 -0
- versatil-0.3.0/src/versatil/models/layers/geometric_attention/depth_decay.py +107 -0
- versatil-0.3.0/src/versatil/models/layers/geometric_attention/geometric_attention.py +255 -0
- versatil-0.3.0/src/versatil/models/layers/geometric_attention/geometric_attention_encoder.py +131 -0
- versatil-0.3.0/src/versatil/models/layers/geometric_attention/geometric_bias.py +113 -0
- versatil-0.3.0/src/versatil/models/layers/geometric_attention/spatial_decay.py +119 -0
- versatil-0.3.0/src/versatil/models/layers/mlp.py +49 -0
- versatil-0.3.0/src/versatil/models/layers/modulation/__init__.py +0 -0
- versatil-0.3.0/src/versatil/models/layers/modulation/conditional_modulation.py +170 -0
- versatil-0.3.0/src/versatil/models/layers/modulation/conditional_residual_block.py +75 -0
- versatil-0.3.0/src/versatil/models/layers/modulation/film_residual_block.py +70 -0
- versatil-0.3.0/src/versatil/models/layers/normalization/__init__.py +6 -0
- versatil-0.3.0/src/versatil/models/layers/normalization/ada_norm.py +62 -0
- versatil-0.3.0/src/versatil/models/layers/normalization/constants.py +8 -0
- versatil-0.3.0/src/versatil/models/layers/normalization/factory.py +141 -0
- versatil-0.3.0/src/versatil/models/layers/normalization/rms_norm.py +61 -0
- versatil-0.3.0/src/versatil/models/layers/normalization/typedefs.py +6 -0
- versatil-0.3.0/src/versatil/models/layers/normalization/unconditioned_norm.py +25 -0
- versatil-0.3.0/src/versatil/models/layers/patch_embedding.py +185 -0
- versatil-0.3.0/src/versatil/models/layers/pooling/__init__.py +0 -0
- versatil-0.3.0/src/versatil/models/layers/pooling/attention_pooling.py +142 -0
- versatil-0.3.0/src/versatil/models/layers/pooling/pooling_head.py +301 -0
- versatil-0.3.0/src/versatil/models/layers/pooling/spatial_softmax.py +54 -0
- versatil-0.3.0/src/versatil/models/layers/positional_encoding/__init__.py +0 -0
- versatil-0.3.0/src/versatil/models/layers/positional_encoding/base.py +205 -0
- versatil-0.3.0/src/versatil/models/layers/positional_encoding/learned.py +101 -0
- versatil-0.3.0/src/versatil/models/layers/positional_encoding/rotary.py +223 -0
- versatil-0.3.0/src/versatil/models/layers/positional_encoding/sinusoidal.py +299 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/__init__.py +1 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/attention/__init__.py +1 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/attention/cached_attention.py +314 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/attention/joint_attention.py +193 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/attention/joint_attention_base.py +206 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/attention/precomputed_joint_attention.py +178 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/attention/query_key_norm.py +54 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/autoregressive_decoder.py +241 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/bidirectional_decoder.py +185 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/block/__init__.py +1 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/block/base.py +37 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/block/cross_attention.py +79 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/block/dual_stream_attention.py +98 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/block/dual_stream_base.py +30 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/block/feedforward.py +87 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/block/precomputed_cross_attention.py +79 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/block/precomputed_dual_stream_attention.py +91 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/block/self_attention.py +60 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/cache/__init__.py +16 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/cache/conditioning.py +78 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/cache/generation.py +103 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/conditional_bidirectional_decoder.py +220 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/dual_stream_decoder.py +184 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/encoder.py +131 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/layer/__init__.py +1 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/layer/decoder_layer.py +222 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/layer/dual_stream_layer.py +163 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/layer/encoder_layer.py +136 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/layer/precomputed_dual_stream_layer.py +167 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/layer/precomputed_kv_layer.py +146 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/masking.py +103 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/positional_encoding.py +117 -0
- versatil-0.3.0/src/versatil/models/layers/transformer/transformer_mixin.py +193 -0
- versatil-0.3.0/src/versatil/models/policy.py +507 -0
- versatil-0.3.0/src/versatil/post_training_compression/__init__.py +1 -0
- versatil-0.3.0/src/versatil/post_training_compression/compression_target.py +53 -0
- versatil-0.3.0/src/versatil/post_training_compression/compressor.py +315 -0
- versatil-0.3.0/src/versatil/post_training_compression/constants.py +61 -0
- versatil-0.3.0/src/versatil/post_training_compression/export.py +122 -0
- versatil-0.3.0/src/versatil/post_training_compression/preparation/__init__.py +25 -0
- versatil-0.3.0/src/versatil/post_training_compression/preparation/batchnorm.py +141 -0
- versatil-0.3.0/src/versatil/post_training_compression/preparation/fusion.py +84 -0
- versatil-0.3.0/src/versatil/post_training_compression/pruning/__init__.py +11 -0
- versatil-0.3.0/src/versatil/post_training_compression/pruning/base.py +38 -0
- versatil-0.3.0/src/versatil/post_training_compression/pruning/structured.py +98 -0
- versatil-0.3.0/src/versatil/post_training_compression/pruning/unstructured.py +81 -0
- versatil-0.3.0/src/versatil/post_training_compression/report.py +249 -0
- versatil-0.3.0/src/versatil/post_training_compression/serialization.py +156 -0
- versatil-0.3.0/src/versatil/quantization/__init__.py +13 -0
- versatil-0.3.0/src/versatil/quantization/backends/__init__.py +6 -0
- versatil-0.3.0/src/versatil/quantization/backends/base.py +62 -0
- versatil-0.3.0/src/versatil/quantization/backends/x86_inductor.py +125 -0
- versatil-0.3.0/src/versatil/quantization/calibration.py +58 -0
- versatil-0.3.0/src/versatil/quantization/constants.py +43 -0
- versatil-0.3.0/src/versatil/quantization/quantize.py +102 -0
- versatil-0.3.0/src/versatil/quantization/strategies.py +39 -0
- versatil-0.3.0/src/versatil/quantization/torch_patches.py +264 -0
- versatil-0.3.0/src/versatil/training/__init__.py +1 -0
- versatil-0.3.0/src/versatil/training/callbacks/__init__.py +5 -0
- versatil-0.3.0/src/versatil/training/callbacks/confusion_matrix.py +103 -0
- versatil-0.3.0/src/versatil/training/callbacks/early_stopping.py +14 -0
- versatil-0.3.0/src/versatil/training/callbacks/ema.py +206 -0
- versatil-0.3.0/src/versatil/training/callbacks/expert_usage.py +92 -0
- versatil-0.3.0/src/versatil/training/callbacks/gradient_norm.py +159 -0
- versatil-0.3.0/src/versatil/training/callbacks/latent_visualization.py +480 -0
- versatil-0.3.0/src/versatil/training/callbacks/prior_target_standardization.py +323 -0
- versatil-0.3.0/src/versatil/training/callbacks/provider.py +20 -0
- versatil-0.3.0/src/versatil/training/callbacks/reduce_lr_on_plateau.py +106 -0
- versatil-0.3.0/src/versatil/training/callbacks/synthetic_rollout.py +214 -0
- versatil-0.3.0/src/versatil/training/callbacks/training_stage.py +651 -0
- versatil-0.3.0/src/versatil/training/callbacks/wandb_figure.py +26 -0
- versatil-0.3.0/src/versatil/training/constants.py +104 -0
- versatil-0.3.0/src/versatil/training/lightning_policy.py +332 -0
- versatil-0.3.0/src/versatil/training/stage.py +106 -0
- versatil-0.3.0/src/versatil/validation.py +453 -0
- versatil-0.3.0/src/versatil/workspace.py +660 -0
- versatil-0.3.0/tests/CLAUDE.md +171 -0
- versatil-0.3.0/tests/__init__.py +0 -0
- versatil-0.3.0/tests/common/__init__.py +0 -0
- versatil-0.3.0/tests/common/test_dict_of_tensor_mixin.py +198 -0
- versatil-0.3.0/tests/common/test_logging.py +48 -0
- versatil-0.3.0/tests/common/test_module_attr_mixin.py +67 -0
- versatil-0.3.0/tests/common/test_omegaconf_ops.py +81 -0
- versatil-0.3.0/tests/common/test_set_cache_dir.py +56 -0
- versatil-0.3.0/tests/common/test_tensor_ops.py +108 -0
- versatil-0.3.0/tests/configs/__init__.py +0 -0
- versatil-0.3.0/tests/configs/data/__init__.py +0 -0
- versatil-0.3.0/tests/configs/data/raw/__init__.py +0 -0
- versatil-0.3.0/tests/configs/data/raw/test_schema.py +54 -0
- versatil-0.3.0/tests/configs/data/raw/test_zarr_meta.py +46 -0
- versatil-0.3.0/tests/configs/data/test_augmentation.py +234 -0
- versatil-0.3.0/tests/configs/data/test_dataloader.py +134 -0
- versatil-0.3.0/tests/configs/data/test_metadata.py +270 -0
- versatil-0.3.0/tests/configs/data/test_tokenizer.py +87 -0
- versatil-0.3.0/tests/configs/decoding/__init__.py +0 -0
- versatil-0.3.0/tests/configs/decoding/test_action_heads.py +155 -0
- versatil-0.3.0/tests/configs/decoding/test_algorithm.py +211 -0
- versatil-0.3.0/tests/configs/decoding/test_decoders.py +431 -0
- versatil-0.3.0/tests/configs/decoding/test_latent.py +356 -0
- versatil-0.3.0/tests/configs/encoding/__init__.py +0 -0
- versatil-0.3.0/tests/configs/encoding/test_encoder.py +371 -0
- versatil-0.3.0/tests/configs/encoding/test_fusion.py +136 -0
- versatil-0.3.0/tests/configs/encoding/test_pipeline.py +57 -0
- versatil-0.3.0/tests/configs/test_experiment.py +71 -0
- versatil-0.3.0/tests/configs/test_inference.py +32 -0
- versatil-0.3.0/tests/configs/test_loss.py +461 -0
- versatil-0.3.0/tests/configs/test_main.py +52 -0
- versatil-0.3.0/tests/configs/test_policy.py +120 -0
- versatil-0.3.0/tests/configs/test_post_training_compression.py +99 -0
- versatil-0.3.0/tests/configs/test_quantization.py +74 -0
- versatil-0.3.0/tests/configs/test_resolvers.py +284 -0
- versatil-0.3.0/tests/configs/test_task.py +155 -0
- versatil-0.3.0/tests/configs/test_training.py +368 -0
- versatil-0.3.0/tests/conftest.py +456 -0
- versatil-0.3.0/tests/data/__init__.py +0 -0
- versatil-0.3.0/tests/data/conftest.py +462 -0
- versatil-0.3.0/tests/data/normalization/__init__.py +0 -0
- versatil-0.3.0/tests/data/normalization/test_image_normalizer.py +437 -0
- versatil-0.3.0/tests/data/normalization/test_normalizer.py +889 -0
- versatil-0.3.0/tests/data/preprocessing/__init__.py +0 -0
- versatil-0.3.0/tests/data/preprocessing/conftest.py +78 -0
- versatil-0.3.0/tests/data/preprocessing/test_codecs.py +337 -0
- versatil-0.3.0/tests/data/preprocessing/test_create_zarr_arrays.py +410 -0
- versatil-0.3.0/tests/data/preprocessing/test_create_zarr_from_csv.py +232 -0
- versatil-0.3.0/tests/data/preprocessing/test_create_zarr_from_hdf5.py +304 -0
- versatil-0.3.0/tests/data/preprocessing/test_create_zarr_from_lerobot.py +179 -0
- versatil-0.3.0/tests/data/preprocessing/test_create_zarr_from_synthetic.py +450 -0
- versatil-0.3.0/tests/data/preprocessing/test_replay_buffer.py +1180 -0
- versatil-0.3.0/tests/data/preprocessing/test_sampler.py +446 -0
- versatil-0.3.0/tests/data/processing/__init__.py +0 -0
- versatil-0.3.0/tests/data/processing/test_action_processor.py +849 -0
- versatil-0.3.0/tests/data/processing/test_image_processor.py +335 -0
- versatil-0.3.0/tests/data/processing/test_transform.py +831 -0
- versatil-0.3.0/tests/data/processing/test_transform_builder.py +1151 -0
- versatil-0.3.0/tests/data/raw/__init__.py +0 -0
- versatil-0.3.0/tests/data/raw/conftest.py +69 -0
- versatil-0.3.0/tests/data/raw/schemas/__init__.py +0 -0
- versatil-0.3.0/tests/data/raw/schemas/custom/__init__.py +0 -0
- versatil-0.3.0/tests/data/raw/schemas/custom/test_libero.py +923 -0
- versatil-0.3.0/tests/data/raw/schemas/custom/test_synthetic.py +318 -0
- versatil-0.3.0/tests/data/raw/schemas/custom/test_tso.py +1237 -0
- versatil-0.3.0/tests/data/raw/schemas/test_base.py +435 -0
- versatil-0.3.0/tests/data/raw/schemas/test_csv.py +148 -0
- versatil-0.3.0/tests/data/raw/schemas/test_hdf5.py +127 -0
- versatil-0.3.0/tests/data/raw/schemas/test_lerobot.py +1243 -0
- versatil-0.3.0/tests/data/raw/test_zarr_meta.py +737 -0
- versatil-0.3.0/tests/data/synthetic/__init__.py +1 -0
- versatil-0.3.0/tests/data/synthetic/conftest.py +60 -0
- versatil-0.3.0/tests/data/synthetic/test_generators.py +1097 -0
- versatil-0.3.0/tests/data/synthetic/test_renderer.py +473 -0
- versatil-0.3.0/tests/data/synthetic/test_task_layout.py +249 -0
- versatil-0.3.0/tests/data/synthetic/test_visualization.py +630 -0
- versatil-0.3.0/tests/data/test_dataloader.py +847 -0
- versatil-0.3.0/tests/data/test_episodic_dataset.py +1105 -0
- versatil-0.3.0/tests/data/test_metadata.py +1065 -0
- versatil-0.3.0/tests/data/test_sample_builder.py +630 -0
- versatil-0.3.0/tests/data/test_task.py +943 -0
- versatil-0.3.0/tests/data/tokenization/__init__.py +0 -0
- versatil-0.3.0/tests/data/tokenization/conftest.py +82 -0
- versatil-0.3.0/tests/data/tokenization/test_action_tokenizer.py +1210 -0
- versatil-0.3.0/tests/data/tokenization/test_binning_tokenizer.py +331 -0
- versatil-0.3.0/tests/data/tokenization/test_fast.py +242 -0
- versatil-0.3.0/tests/data/tokenization/test_observation_tokenizer.py +1105 -0
- versatil-0.3.0/tests/data/tokenization/test_tokenizer.py +366 -0
- versatil-0.3.0/tests/endpoints/__init__.py +1 -0
- versatil-0.3.0/tests/endpoints/conftest.py +776 -0
- versatil-0.3.0/tests/endpoints/test_end_to_end.py +207 -0
- versatil-0.3.0/tests/endpoints/test_post_training_compress.py +682 -0
- versatil-0.3.0/tests/endpoints/test_test.py +130 -0
- versatil-0.3.0/tests/endpoints/test_train.py +73 -0
- versatil-0.3.0/tests/explain/__init__.py +0 -0
- versatil-0.3.0/tests/hydra_configs/__init__.py +1 -0
- versatil-0.3.0/tests/hydra_configs/test_yaml_resolution.py +351 -0
- versatil-0.3.0/tests/inference/__init__.py +1 -0
- versatil-0.3.0/tests/inference/test_action_postprocessor.py +1049 -0
- versatil-0.3.0/tests/inference/test_compressed_policy_loader.py +845 -0
- versatil-0.3.0/tests/inference/test_inference_client.py +1888 -0
- versatil-0.3.0/tests/inference/test_integration.py +624 -0
- versatil-0.3.0/tests/inference/test_observation_buffer.py +217 -0
- versatil-0.3.0/tests/inference/test_observation_preprocessor.py +849 -0
- versatil-0.3.0/tests/inference/test_policy_loader.py +847 -0
- versatil-0.3.0/tests/inference/test_socket_transport.py +327 -0
- versatil-0.3.0/tests/inference/test_synthetic_rollout.py +985 -0
- versatil-0.3.0/tests/inference/test_temporal_aggregation.py +384 -0
- versatil-0.3.0/tests/metrics/__init__.py +1 -0
- versatil-0.3.0/tests/metrics/conftest.py +19 -0
- versatil-0.3.0/tests/metrics/test_accumulators.py +608 -0
- versatil-0.3.0/tests/metrics/test_base.py +390 -0
- versatil-0.3.0/tests/metrics/test_components.py +3236 -0
- versatil-0.3.0/tests/metrics/test_composite.py +327 -0
- versatil-0.3.0/tests/metrics/test_kernels.py +469 -0
- versatil-0.3.0/tests/metrics/test_ot_loss.py +764 -0
- versatil-0.3.0/tests/metrics/test_ot_loss_integration.py +331 -0
- versatil-0.3.0/tests/metrics/test_synthetic_metrics.py +695 -0
- versatil-0.3.0/tests/models/__init__.py +0 -0
- versatil-0.3.0/tests/models/conftest.py +330 -0
- versatil-0.3.0/tests/models/decoding/__init__.py +0 -0
- versatil-0.3.0/tests/models/decoding/action_heads/__init__.py +0 -0
- versatil-0.3.0/tests/models/decoding/action_heads/test_base.py +143 -0
- versatil-0.3.0/tests/models/decoding/action_heads/test_blocks.py +247 -0
- versatil-0.3.0/tests/models/decoding/action_heads/test_gaussian.py +114 -0
- versatil-0.3.0/tests/models/decoding/action_heads/test_moe.py +281 -0
- versatil-0.3.0/tests/models/decoding/action_heads/test_single_output.py +49 -0
- versatil-0.3.0/tests/models/decoding/algorithms/__init__.py +0 -0
- versatil-0.3.0/tests/models/decoding/algorithms/test_base.py +18 -0
- versatil-0.3.0/tests/models/decoding/algorithms/test_behavior_cloning.py +107 -0
- versatil-0.3.0/tests/models/decoding/algorithms/test_diffusion.py +482 -0
- versatil-0.3.0/tests/models/decoding/algorithms/test_flow_matching.py +535 -0
- versatil-0.3.0/tests/models/decoding/algorithms/test_variational.py +976 -0
- versatil-0.3.0/tests/models/decoding/conftest.py +275 -0
- versatil-0.3.0/tests/models/decoding/decoders/__init__.py +0 -0
- versatil-0.3.0/tests/models/decoding/decoders/conftest.py +135 -0
- versatil-0.3.0/tests/models/decoding/decoders/factory/__init__.py +7 -0
- versatil-0.3.0/tests/models/decoding/decoders/factory/test_act.py +398 -0
- versatil-0.3.0/tests/models/decoding/decoders/factory/test_action_transformer.py +341 -0
- versatil-0.3.0/tests/models/decoding/decoders/factory/test_conditional_action_unet.py +392 -0
- versatil-0.3.0/tests/models/decoding/decoders/factory/test_diffusion_action_transformer.py +637 -0
- versatil-0.3.0/tests/models/decoding/decoders/factory/test_discrete_detr_action_transformer.py +436 -0
- versatil-0.3.0/tests/models/decoding/decoders/factory/test_dit_block_action_transformer.py +406 -0
- versatil-0.3.0/tests/models/decoding/decoders/factory/test_free_action_transformer.py +522 -0
- versatil-0.3.0/tests/models/decoding/decoders/factory/test_gpt_action_transformer.py +835 -0
- versatil-0.3.0/tests/models/decoding/decoders/factory/test_lact.py +362 -0
- versatil-0.3.0/tests/models/decoding/decoders/factory/test_mode_act.py +1301 -0
- versatil-0.3.0/tests/models/decoding/decoders/factory/test_moe_free_action_transformer.py +549 -0
- versatil-0.3.0/tests/models/decoding/decoders/factory/test_phase_act.py +374 -0
- versatil-0.3.0/tests/models/decoding/decoders/factory/test_pi0.py +815 -0
- versatil-0.3.0/tests/models/decoding/decoders/factory/test_smolvla.py +1320 -0
- versatil-0.3.0/tests/models/decoding/decoders/test_base.py +709 -0
- versatil-0.3.0/tests/models/decoding/decoders/test_moe.py +533 -0
- versatil-0.3.0/tests/models/decoding/decoders/test_timestep_conditioning.py +180 -0
- versatil-0.3.0/tests/models/decoding/latent/__init__.py +0 -0
- versatil-0.3.0/tests/models/decoding/latent/conftest.py +69 -0
- versatil-0.3.0/tests/models/decoding/latent/posterior/__init__.py +0 -0
- versatil-0.3.0/tests/models/decoding/latent/posterior/test_transformer_encoder.py +470 -0
- versatil-0.3.0/tests/models/decoding/latent/posterior/test_vq_encoder.py +465 -0
- versatil-0.3.0/tests/models/decoding/latent/prior/__init__.py +0 -0
- versatil-0.3.0/tests/models/decoding/latent/prior/test_codebook_prior.py +493 -0
- versatil-0.3.0/tests/models/decoding/latent/prior/test_dit_prior.py +1028 -0
- versatil-0.3.0/tests/models/decoding/latent/prior/test_gaussian_prior.py +280 -0
- versatil-0.3.0/tests/models/decoding/latent/prior/test_latent_standardizer.py +199 -0
- versatil-0.3.0/tests/models/decoding/latent/prior/test_prior_transformer_encoder.py +412 -0
- versatil-0.3.0/tests/models/decoding/latent/prior/test_state_condition_pool.py +124 -0
- versatil-0.3.0/tests/models/decoding/latent/prior/test_uniform_codebook_prior.py +337 -0
- versatil-0.3.0/tests/models/decoding/latent/prior/test_vamp_prior.py +923 -0
- versatil-0.3.0/tests/models/decoding/latent/test_reparametrize.py +113 -0
- versatil-0.3.0/tests/models/decoding/latent/vq/__init__.py +0 -0
- versatil-0.3.0/tests/models/decoding/latent/vq/conftest.py +22 -0
- versatil-0.3.0/tests/models/decoding/latent/vq/test_euclidean_codebook.py +399 -0
- versatil-0.3.0/tests/models/decoding/latent/vq/test_residual_vq.py +322 -0
- versatil-0.3.0/tests/models/decoding/latent/vq/test_vector_quantize.py +188 -0
- versatil-0.3.0/tests/models/decoding/test_action_masking.py +341 -0
- versatil-0.3.0/tests/models/decoding/test_mixture_of_experts.py +565 -0
- versatil-0.3.0/tests/models/decoding/test_transformer_input_builder.py +1194 -0
- versatil-0.3.0/tests/models/decoding/test_unet_input_builder.py +346 -0
- versatil-0.3.0/tests/models/encoding/__init__.py +0 -0
- versatil-0.3.0/tests/models/encoding/conftest.py +196 -0
- versatil-0.3.0/tests/models/encoding/encoders/__init__.py +0 -0
- versatil-0.3.0/tests/models/encoding/encoders/conftest.py +92 -0
- versatil-0.3.0/tests/models/encoding/encoders/cross_modal/__init__.py +0 -0
- versatil-0.3.0/tests/models/encoding/encoders/cross_modal/rgbd/__init__.py +1 -0
- versatil-0.3.0/tests/models/encoding/encoders/cross_modal/rgbd/test_dformerv2.py +873 -0
- versatil-0.3.0/tests/models/encoding/encoders/cross_modal/rgbd/test_geometric_rgbd.py +469 -0
- versatil-0.3.0/tests/models/encoding/encoders/cross_modal/vision_language/__init__.py +1 -0
- versatil-0.3.0/tests/models/encoding/encoders/cross_modal/vision_language/conftest.py +137 -0
- versatil-0.3.0/tests/models/encoding/encoders/cross_modal/vision_language/test_generative_vlm.py +514 -0
- versatil-0.3.0/tests/models/encoding/encoders/cross_modal/vision_language/test_paligemma.py +621 -0
- versatil-0.3.0/tests/models/encoding/encoders/cross_modal/vision_language/test_smolvlm.py +665 -0
- versatil-0.3.0/tests/models/encoding/encoders/cross_modal/vision_language/test_two_tower_vlm.py +600 -0
- versatil-0.3.0/tests/models/encoding/encoders/depth/__init__.py +0 -0
- versatil-0.3.0/tests/models/encoding/encoders/depth/conftest.py +1 -0
- versatil-0.3.0/tests/models/encoding/encoders/depth/test_spatial.py +695 -0
- versatil-0.3.0/tests/models/encoding/encoders/language/__init__.py +0 -0
- versatil-0.3.0/tests/models/encoding/encoders/language/test_language.py +938 -0
- versatil-0.3.0/tests/models/encoding/encoders/proprioceptive/__init__.py +0 -0
- versatil-0.3.0/tests/models/encoding/encoders/proprioceptive/test_base.py +351 -0
- versatil-0.3.0/tests/models/encoding/encoders/rgb/__init__.py +0 -0
- versatil-0.3.0/tests/models/encoding/encoders/rgb/test_conditional_cnn.py +817 -0
- versatil-0.3.0/tests/models/encoding/encoders/rgb/test_flat.py +870 -0
- versatil-0.3.0/tests/models/encoding/encoders/rgb/test_spatial.py +737 -0
- versatil-0.3.0/tests/models/encoding/encoders/test_base.py +464 -0
- versatil-0.3.0/tests/models/encoding/encoders/test_conditional.py +167 -0
- versatil-0.3.0/tests/models/encoding/encoders/test_image_mixin.py +255 -0
- versatil-0.3.0/tests/models/encoding/encoders/test_language_mixin.py +290 -0
- versatil-0.3.0/tests/models/encoding/encoders/test_unconditional.py +146 -0
- versatil-0.3.0/tests/models/encoding/fusion/__init__.py +0 -0
- versatil-0.3.0/tests/models/encoding/fusion/test_attention.py +327 -0
- versatil-0.3.0/tests/models/encoding/fusion/test_base.py +404 -0
- versatil-0.3.0/tests/models/encoding/fusion/test_concat.py +196 -0
- versatil-0.3.0/tests/models/encoding/fusion/test_mlp.py +224 -0
- versatil-0.3.0/tests/models/encoding/test_pipeline.py +1312 -0
- versatil-0.3.0/tests/models/layers/__init__.py +0 -0
- versatil-0.3.0/tests/models/layers/conftest.py +183 -0
- versatil-0.3.0/tests/models/layers/convolution/__init__.py +0 -0
- versatil-0.3.0/tests/models/layers/convolution/test_conv1d.py +253 -0
- versatil-0.3.0/tests/models/layers/convolution/test_depthwise_conv2d.py +146 -0
- versatil-0.3.0/tests/models/layers/denoising/__init__.py +0 -0
- versatil-0.3.0/tests/models/layers/denoising/conftest.py +136 -0
- versatil-0.3.0/tests/models/layers/denoising/test_conditional_flow_matching.py +162 -0
- versatil-0.3.0/tests/models/layers/denoising/test_diffusion_process.py +505 -0
- versatil-0.3.0/tests/models/layers/denoising/test_ode_solvers.py +591 -0
- versatil-0.3.0/tests/models/layers/denoising/test_timestep_sampling.py +491 -0
- versatil-0.3.0/tests/models/layers/detr_transformer/__init__.py +0 -0
- versatil-0.3.0/tests/models/layers/detr_transformer/conftest.py +180 -0
- versatil-0.3.0/tests/models/layers/detr_transformer/test_attention.py +481 -0
- versatil-0.3.0/tests/models/layers/detr_transformer/test_transformer.py +550 -0
- versatil-0.3.0/tests/models/layers/detr_transformer/test_transformer_decoder.py +696 -0
- versatil-0.3.0/tests/models/layers/detr_transformer/test_transformer_encoder.py +465 -0
- versatil-0.3.0/tests/models/layers/diffusion_transformer/__init__.py +0 -0
- versatil-0.3.0/tests/models/layers/diffusion_transformer/conftest.py +22 -0
- versatil-0.3.0/tests/models/layers/diffusion_transformer/test_cross_attention_dit.py +394 -0
- versatil-0.3.0/tests/models/layers/diffusion_transformer/test_dit_block_transformer.py +345 -0
- versatil-0.3.0/tests/models/layers/diffusion_transformer/test_final_prediction_layer.py +185 -0
- versatil-0.3.0/tests/models/layers/diffusion_transformer/test_mmdit_transformer.py +461 -0
- versatil-0.3.0/tests/models/layers/free_transformer/__init__.py +1 -0
- versatil-0.3.0/tests/models/layers/free_transformer/conftest.py +159 -0
- versatil-0.3.0/tests/models/layers/free_transformer/test_binary_mapper.py +484 -0
- versatil-0.3.0/tests/models/layers/free_transformer/test_free_transformer.py +1203 -0
- versatil-0.3.0/tests/models/layers/geometric_attention/__init__.py +0 -0
- versatil-0.3.0/tests/models/layers/geometric_attention/conftest.py +147 -0
- versatil-0.3.0/tests/models/layers/geometric_attention/test_depth_decay.py +449 -0
- versatil-0.3.0/tests/models/layers/geometric_attention/test_geometric_attention.py +336 -0
- versatil-0.3.0/tests/models/layers/geometric_attention/test_geometric_attention_encoder.py +345 -0
- versatil-0.3.0/tests/models/layers/geometric_attention/test_geometric_bias.py +240 -0
- versatil-0.3.0/tests/models/layers/geometric_attention/test_spatial_decay.py +297 -0
- versatil-0.3.0/tests/models/layers/modulation/__init__.py +0 -0
- versatil-0.3.0/tests/models/layers/modulation/test_conditional_modulation.py +492 -0
- versatil-0.3.0/tests/models/layers/modulation/test_conditional_residual_block.py +234 -0
- versatil-0.3.0/tests/models/layers/modulation/test_film_residual_block.py +206 -0
- versatil-0.3.0/tests/models/layers/normalization/__init__.py +0 -0
- versatil-0.3.0/tests/models/layers/normalization/test_ada_norm.py +180 -0
- versatil-0.3.0/tests/models/layers/normalization/test_factory.py +324 -0
- versatil-0.3.0/tests/models/layers/normalization/test_frozen_batchnorm.py +165 -0
- versatil-0.3.0/tests/models/layers/normalization/test_rms_norm.py +170 -0
- versatil-0.3.0/tests/models/layers/normalization/test_unconditioned_norm.py +101 -0
- versatil-0.3.0/tests/models/layers/pooling/__init__.py +0 -0
- versatil-0.3.0/tests/models/layers/pooling/test_attention_pooling.py +274 -0
- versatil-0.3.0/tests/models/layers/pooling/test_pooling_head.py +451 -0
- versatil-0.3.0/tests/models/layers/pooling/test_spatial_softmax.py +206 -0
- versatil-0.3.0/tests/models/layers/positional_encoding/__init__.py +0 -0
- versatil-0.3.0/tests/models/layers/positional_encoding/conftest.py +55 -0
- versatil-0.3.0/tests/models/layers/positional_encoding/test_base.py +363 -0
- versatil-0.3.0/tests/models/layers/positional_encoding/test_learned.py +368 -0
- versatil-0.3.0/tests/models/layers/positional_encoding/test_rotary.py +455 -0
- versatil-0.3.0/tests/models/layers/positional_encoding/test_sinusoidal.py +690 -0
- versatil-0.3.0/tests/models/layers/test_activation.py +81 -0
- versatil-0.3.0/tests/models/layers/test_conditional_unet.py +742 -0
- versatil-0.3.0/tests/models/layers/test_convert_layers.py +284 -0
- versatil-0.3.0/tests/models/layers/test_drop_path.py +130 -0
- versatil-0.3.0/tests/models/layers/test_dynamic_feature_embedding.py +156 -0
- versatil-0.3.0/tests/models/layers/test_feature_projection.py +675 -0
- versatil-0.3.0/tests/models/layers/test_gated_linear_unit.py +164 -0
- versatil-0.3.0/tests/models/layers/test_mlp.py +243 -0
- versatil-0.3.0/tests/models/layers/test_patch_embedding.py +303 -0
- versatil-0.3.0/tests/models/layers/transformer/__init__.py +0 -0
- versatil-0.3.0/tests/models/layers/transformer/attention/__init__.py +0 -0
- versatil-0.3.0/tests/models/layers/transformer/attention/test_cached_attention.py +607 -0
- versatil-0.3.0/tests/models/layers/transformer/attention/test_joint_attention.py +351 -0
- versatil-0.3.0/tests/models/layers/transformer/attention/test_joint_attention_base.py +300 -0
- versatil-0.3.0/tests/models/layers/transformer/attention/test_precomputed_joint_attention.py +324 -0
- versatil-0.3.0/tests/models/layers/transformer/attention/test_query_key_norm.py +82 -0
- versatil-0.3.0/tests/models/layers/transformer/blocks/__init__.py +1 -0
- versatil-0.3.0/tests/models/layers/transformer/blocks/conftest.py +60 -0
- versatil-0.3.0/tests/models/layers/transformer/blocks/test_base.py +47 -0
- versatil-0.3.0/tests/models/layers/transformer/blocks/test_cross_attention.py +280 -0
- versatil-0.3.0/tests/models/layers/transformer/blocks/test_dual_stream_attention.py +188 -0
- versatil-0.3.0/tests/models/layers/transformer/blocks/test_feedforward.py +140 -0
- versatil-0.3.0/tests/models/layers/transformer/blocks/test_precomputed_cross_attention.py +185 -0
- versatil-0.3.0/tests/models/layers/transformer/blocks/test_precomputed_dual_stream_attention.py +163 -0
- versatil-0.3.0/tests/models/layers/transformer/blocks/test_self_attention.py +175 -0
- versatil-0.3.0/tests/models/layers/transformer/cache/__init__.py +0 -0
- versatil-0.3.0/tests/models/layers/transformer/cache/test_conditioning.py +74 -0
- versatil-0.3.0/tests/models/layers/transformer/cache/test_generation.py +173 -0
- versatil-0.3.0/tests/models/layers/transformer/conftest.py +249 -0
- versatil-0.3.0/tests/models/layers/transformer/layer/__init__.py +0 -0
- versatil-0.3.0/tests/models/layers/transformer/layer/test_decoder_layer.py +578 -0
- versatil-0.3.0/tests/models/layers/transformer/layer/test_dual_stream_layer.py +218 -0
- versatil-0.3.0/tests/models/layers/transformer/layer/test_encoder_layer.py +331 -0
- versatil-0.3.0/tests/models/layers/transformer/layer/test_precomputed_cross_attention_layer.py +145 -0
- versatil-0.3.0/tests/models/layers/transformer/layer/test_precomputed_dual_stream_layer.py +225 -0
- versatil-0.3.0/tests/models/layers/transformer/test_autoregressive_decoder.py +622 -0
- versatil-0.3.0/tests/models/layers/transformer/test_bidirectional_decoder.py +499 -0
- versatil-0.3.0/tests/models/layers/transformer/test_conditional_bidirectional_decoder.py +956 -0
- versatil-0.3.0/tests/models/layers/transformer/test_dual_stream_decoder.py +653 -0
- versatil-0.3.0/tests/models/layers/transformer/test_encoder.py +283 -0
- versatil-0.3.0/tests/models/layers/transformer/test_masking.py +191 -0
- versatil-0.3.0/tests/models/layers/transformer/test_positional_encoding.py +229 -0
- versatil-0.3.0/tests/models/layers/transformer/test_transformer_mixin.py +449 -0
- versatil-0.3.0/tests/models/test_exportable_policy.py +350 -0
- versatil-0.3.0/tests/models/test_feature_meta.py +78 -0
- versatil-0.3.0/tests/models/test_policy.py +1091 -0
- versatil-0.3.0/tests/post_training_compression/__init__.py +1 -0
- versatil-0.3.0/tests/post_training_compression/conftest.py +161 -0
- versatil-0.3.0/tests/post_training_compression/preparation/__init__.py +1 -0
- versatil-0.3.0/tests/post_training_compression/preparation/conftest.py +97 -0
- versatil-0.3.0/tests/post_training_compression/preparation/test_batchnorm.py +365 -0
- versatil-0.3.0/tests/post_training_compression/preparation/test_fusion.py +359 -0
- versatil-0.3.0/tests/post_training_compression/pruning/__init__.py +1 -0
- versatil-0.3.0/tests/post_training_compression/pruning/test_base_pruner.py +99 -0
- versatil-0.3.0/tests/post_training_compression/pruning/test_structured.py +245 -0
- versatil-0.3.0/tests/post_training_compression/pruning/test_unstructured.py +212 -0
- versatil-0.3.0/tests/post_training_compression/test_compression_target.py +105 -0
- versatil-0.3.0/tests/post_training_compression/test_compressor.py +606 -0
- versatil-0.3.0/tests/post_training_compression/test_export.py +378 -0
- versatil-0.3.0/tests/post_training_compression/test_report.py +641 -0
- versatil-0.3.0/tests/post_training_compression/test_serialization.py +298 -0
- versatil-0.3.0/tests/quantization/__init__.py +1 -0
- versatil-0.3.0/tests/quantization/backends/__init__.py +1 -0
- versatil-0.3.0/tests/quantization/backends/test_x86_inductor.py +173 -0
- versatil-0.3.0/tests/quantization/conftest.py +36 -0
- versatil-0.3.0/tests/quantization/test_calibration.py +301 -0
- versatil-0.3.0/tests/quantization/test_integration.py +531 -0
- versatil-0.3.0/tests/quantization/test_quantize.py +326 -0
- versatil-0.3.0/tests/quantization/test_strategies.py +34 -0
- versatil-0.3.0/tests/quantization/test_torch_patches.py +395 -0
- versatil-0.3.0/tests/test_validation.py +1874 -0
- versatil-0.3.0/tests/test_workspace.py +2122 -0
- versatil-0.3.0/tests/training/__init__.py +0 -0
- versatil-0.3.0/tests/training/conftest.py +230 -0
- versatil-0.3.0/tests/training/test_callbacks/__init__.py +0 -0
- versatil-0.3.0/tests/training/test_callbacks/conftest.py +100 -0
- versatil-0.3.0/tests/training/test_callbacks/test_confusion_matrix.py +166 -0
- versatil-0.3.0/tests/training/test_callbacks/test_early_stopping.py +32 -0
- versatil-0.3.0/tests/training/test_callbacks/test_ema.py +648 -0
- versatil-0.3.0/tests/training/test_callbacks/test_expert_usage.py +164 -0
- versatil-0.3.0/tests/training/test_callbacks/test_gradient_norm.py +213 -0
- versatil-0.3.0/tests/training/test_callbacks/test_latent_visualization.py +829 -0
- versatil-0.3.0/tests/training/test_callbacks/test_prior_target_standardization.py +334 -0
- versatil-0.3.0/tests/training/test_callbacks/test_provider.py +58 -0
- versatil-0.3.0/tests/training/test_callbacks/test_reduce_lr_on_plateau.py +143 -0
- versatil-0.3.0/tests/training/test_callbacks/test_synthetic_rollout.py +594 -0
- versatil-0.3.0/tests/training/test_callbacks/test_training_stage.py +1499 -0
- versatil-0.3.0/tests/training/test_callbacks/test_wandb_figure.py +22 -0
- versatil-0.3.0/tests/training/test_lightning_policy.py +932 -0
- versatil-0.3.0/tests/training/test_stage.py +124 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# VersatIL Environment Configuration
|
|
2
|
+
# Copy to .env and customize: cp .env.example .env
|
|
3
|
+
|
|
4
|
+
# Storage paths
|
|
5
|
+
VERSATIL_CHECKPOINT_DIR=/path/to/checkpoints
|
|
6
|
+
VERSATIL_ZARR_DIR=/path/to/zarr
|
|
7
|
+
VERSATIL_CACHE_DIR=/path/to/cache
|
|
8
|
+
|
|
9
|
+
# Pretrained models
|
|
10
|
+
VERSATIL_PRETRAINED_DIR=/path/to/pretrained_models
|
|
11
|
+
|
|
12
|
+
# Raw data paths
|
|
13
|
+
VERSATIL_BOWEL_RETRACTION_DIR=/path/to/bowel_retraction
|
|
14
|
+
VERSATIL_LIBERO_HDF5_DIR=/path/to/libero/datasets
|
|
15
|
+
VERSATIL_LIBERO_LEROBOT_DIR=/path/to/libero_lerobot
|
|
16
|
+
VERSATIL_LIBERO_PLUS_LEROBOT_DIR=/path/to/libero_plus_lerobot
|
|
17
|
+
VERSATIL_METAWORLD_LEROBOT_DIR=/path/to/metaworld_lerobot
|
|
18
|
+
VERSATIL_PUSHT_LEROBOT_DIR=/path/to/pusht_lerobot
|
|
19
|
+
VERSATIL_BLOCK_PUSHING_LEROBOT_DIR=/path/to/block_pushing_lerobot_rel
|
|
20
|
+
VERSATIL_BLOCK_PUSHING_LEROBOT_ABS_DIR=/path/to/block_pushing_lerobot_abs
|
|
21
|
+
VERSATIL_KITCHEN_LEROBOT_DIR=/path/to/kitchen_lerobot
|
|
22
|
+
VERSATIL_MULTIMODAL_PEG_TRANSFER_DIR=/path/to/multimodal_peg_transfer
|
|
23
|
+
VERSATIL_ANT_LEROBOT_DIR=/path/to/ant_lerobot
|
|
24
|
+
VERSATIL_UR3_LEROBOT_DIR=/path/to/ur3_lerobot
|
|
25
|
+
|
|
26
|
+
# Weights & Biases (optional)
|
|
27
|
+
WANDB_PROJECT=versatil
|
|
28
|
+
WANDB_ENTITY=your-team
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
env:
|
|
10
|
+
CUDA_VISIBLE_DEVICES: ""
|
|
11
|
+
HF_HOME: ~/.cache/huggingface
|
|
12
|
+
TORCH_HOME: ~/.cache/torch
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
ruff-format:
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
- uses: astral-sh/ruff-action@v3
|
|
20
|
+
with:
|
|
21
|
+
version: "0.15.6"
|
|
22
|
+
args: format --check src/ tests/
|
|
23
|
+
|
|
24
|
+
ruff-lint:
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
steps:
|
|
27
|
+
- uses: actions/checkout@v4
|
|
28
|
+
- uses: astral-sh/ruff-action@v3
|
|
29
|
+
with:
|
|
30
|
+
version: "0.15.6"
|
|
31
|
+
args: check src/ tests/
|
|
32
|
+
|
|
33
|
+
tests:
|
|
34
|
+
runs-on: ubuntu-latest
|
|
35
|
+
needs: [ruff-format, ruff-lint]
|
|
36
|
+
steps:
|
|
37
|
+
- uses: actions/checkout@v4
|
|
38
|
+
- uses: actions/setup-python@v5
|
|
39
|
+
with:
|
|
40
|
+
python-version: "3.14"
|
|
41
|
+
- uses: astral-sh/setup-uv@v5
|
|
42
|
+
- name: Cache HuggingFace models
|
|
43
|
+
uses: actions/cache@v4
|
|
44
|
+
with:
|
|
45
|
+
path: ~/.cache/huggingface
|
|
46
|
+
key: hf-models-${{ hashFiles('pyproject.toml') }}
|
|
47
|
+
restore-keys: hf-models-
|
|
48
|
+
- name: Create .env for CI
|
|
49
|
+
run: |
|
|
50
|
+
cat > .env << 'EOF'
|
|
51
|
+
VERSATIL_CACHE_DIR=/tmp/versatil/cache
|
|
52
|
+
VERSATIL_CHECKPOINT_DIR=/tmp/versatil/checkpoints
|
|
53
|
+
VERSATIL_ZARR_DIR=/tmp/versatil/zarr
|
|
54
|
+
VERSATIL_PRETRAINED_DIR=/tmp/versatil/pretrained
|
|
55
|
+
EOF
|
|
56
|
+
- name: Install dependencies
|
|
57
|
+
run: |
|
|
58
|
+
uv venv .venv
|
|
59
|
+
source .venv/bin/activate
|
|
60
|
+
uv pip install --extra-index-url https://download.pytorch.org/whl/cpu torch==2.10.0 torchaudio==2.10.0 torchvision==0.25.0
|
|
61
|
+
uv sync
|
|
62
|
+
uv pip install pytest-cov
|
|
63
|
+
- name: Run unit tests with coverage
|
|
64
|
+
run: |
|
|
65
|
+
source .venv/bin/activate
|
|
66
|
+
python -m pytest tests/ -m "not integration and not slow and not requires_gpu" --cov=versatil --tb=short -q --junitxml=report-unit.xml
|
|
67
|
+
- name: Run integration tests with coverage
|
|
68
|
+
run: |
|
|
69
|
+
source .venv/bin/activate
|
|
70
|
+
python -m pytest tests/ -m "integration" --cov=versatil --cov-append --cov-fail-under=90 --cov-report=xml:coverage.xml --cov-report=term-missing --tb=short -q --junitxml=report-integration.xml
|
|
71
|
+
- name: Upload coverage
|
|
72
|
+
if: always()
|
|
73
|
+
uses: actions/upload-artifact@v4
|
|
74
|
+
with:
|
|
75
|
+
name: coverage-report
|
|
76
|
+
path: coverage.xml
|
|
77
|
+
- name: Upload test reports
|
|
78
|
+
if: always()
|
|
79
|
+
uses: actions/upload-artifact@v4
|
|
80
|
+
with:
|
|
81
|
+
name: test-reports
|
|
82
|
+
path: |
|
|
83
|
+
report-unit.xml
|
|
84
|
+
report-integration.xml
|
|
85
|
+
|
|
86
|
+
e2e-tests:
|
|
87
|
+
runs-on: ubuntu-latest
|
|
88
|
+
needs: [tests]
|
|
89
|
+
if: github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref == 'refs/heads/main')
|
|
90
|
+
timeout-minutes: 30
|
|
91
|
+
steps:
|
|
92
|
+
- uses: actions/checkout@v4
|
|
93
|
+
- uses: actions/setup-python@v5
|
|
94
|
+
with:
|
|
95
|
+
python-version: "3.14"
|
|
96
|
+
- uses: astral-sh/setup-uv@v5
|
|
97
|
+
- name: Cache HuggingFace models
|
|
98
|
+
uses: actions/cache@v4
|
|
99
|
+
with:
|
|
100
|
+
path: ~/.cache/huggingface
|
|
101
|
+
key: hf-models-${{ hashFiles('pyproject.toml') }}
|
|
102
|
+
restore-keys: hf-models-
|
|
103
|
+
- name: Create .env for CI
|
|
104
|
+
run: |
|
|
105
|
+
cat > .env << 'EOF'
|
|
106
|
+
VERSATIL_CACHE_DIR=/tmp/versatil/cache
|
|
107
|
+
VERSATIL_CHECKPOINT_DIR=/tmp/versatil/checkpoints
|
|
108
|
+
VERSATIL_ZARR_DIR=/tmp/versatil/zarr
|
|
109
|
+
VERSATIL_PRETRAINED_DIR=/tmp/versatil/pretrained
|
|
110
|
+
EOF
|
|
111
|
+
- name: Install dependencies
|
|
112
|
+
run: |
|
|
113
|
+
uv venv .venv
|
|
114
|
+
source .venv/bin/activate
|
|
115
|
+
uv pip install --extra-index-url https://download.pytorch.org/whl/cpu torch==2.10.0 torchaudio==2.10.0 torchvision==0.25.0
|
|
116
|
+
uv sync
|
|
117
|
+
- name: Run e2e tests
|
|
118
|
+
run: |
|
|
119
|
+
source .venv/bin/activate
|
|
120
|
+
python -m pytest tests/endpoints/test_end_to_end.py -m "slow" --tb=short -q --junitxml=report-e2e.xml
|
|
121
|
+
- name: Upload test report
|
|
122
|
+
if: always()
|
|
123
|
+
uses: actions/upload-artifact@v4
|
|
124
|
+
with:
|
|
125
|
+
name: e2e-test-report
|
|
126
|
+
path: report-e2e.xml
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
name: Deploy Documentation
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
pages: write
|
|
11
|
+
id-token: write
|
|
12
|
+
|
|
13
|
+
concurrency:
|
|
14
|
+
group: pages
|
|
15
|
+
cancel-in-progress: false
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
build:
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v4
|
|
22
|
+
|
|
23
|
+
- uses: actions/setup-python@v5
|
|
24
|
+
with:
|
|
25
|
+
python-version: "3.14"
|
|
26
|
+
|
|
27
|
+
- name: Install docs dependencies
|
|
28
|
+
run: pip install mkdocs-material mkdocstrings[python] mkdocs-gen-files mkdocs-literate-nav
|
|
29
|
+
|
|
30
|
+
- name: Build documentation
|
|
31
|
+
run: mkdocs build --strict
|
|
32
|
+
|
|
33
|
+
- uses: actions/upload-pages-artifact@v3
|
|
34
|
+
with:
|
|
35
|
+
path: site
|
|
36
|
+
|
|
37
|
+
deploy:
|
|
38
|
+
needs: build
|
|
39
|
+
runs-on: ubuntu-latest
|
|
40
|
+
environment:
|
|
41
|
+
name: github-pages
|
|
42
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
43
|
+
steps:
|
|
44
|
+
- uses: actions/deploy-pages@v4
|
|
45
|
+
id: deployment
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- "v*.*.*"
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
id-token: write
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
build:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
- uses: actions/setup-python@v5
|
|
18
|
+
with:
|
|
19
|
+
python-version: "3.14"
|
|
20
|
+
- name: Install build tools
|
|
21
|
+
run: pip install build
|
|
22
|
+
- name: Build package
|
|
23
|
+
run: python -m build
|
|
24
|
+
- name: Upload artifacts
|
|
25
|
+
uses: actions/upload-artifact@v4
|
|
26
|
+
with:
|
|
27
|
+
name: dist
|
|
28
|
+
path: dist/
|
|
29
|
+
|
|
30
|
+
publish:
|
|
31
|
+
runs-on: ubuntu-latest
|
|
32
|
+
needs: build
|
|
33
|
+
environment: pypi
|
|
34
|
+
steps:
|
|
35
|
+
- name: Download artifacts
|
|
36
|
+
uses: actions/download-artifact@v4
|
|
37
|
+
with:
|
|
38
|
+
name: dist
|
|
39
|
+
path: dist/
|
|
40
|
+
- name: Publish to PyPI
|
|
41
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
bin
|
|
2
|
+
logs
|
|
3
|
+
wandb
|
|
4
|
+
outputs
|
|
5
|
+
.env
|
|
6
|
+
|
|
7
|
+
data_local
|
|
8
|
+
.vscode
|
|
9
|
+
_wandb
|
|
10
|
+
.idea/
|
|
11
|
+
|
|
12
|
+
**/.DS_Store
|
|
13
|
+
|
|
14
|
+
fuse.cfg
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
*.ai
|
|
18
|
+
|
|
19
|
+
# Generation results
|
|
20
|
+
results/
|
|
21
|
+
|
|
22
|
+
ray/auth.json
|
|
23
|
+
|
|
24
|
+
# Byte-compiled / optimized / DLL files
|
|
25
|
+
__pycache__/
|
|
26
|
+
*.py[cod]
|
|
27
|
+
*$py.class
|
|
28
|
+
|
|
29
|
+
# C extensions
|
|
30
|
+
*.so
|
|
31
|
+
|
|
32
|
+
# Distribution / packaging
|
|
33
|
+
.Python
|
|
34
|
+
build/
|
|
35
|
+
develop-eggs/
|
|
36
|
+
dist/
|
|
37
|
+
downloads/
|
|
38
|
+
eggs/
|
|
39
|
+
.eggs/
|
|
40
|
+
lib/
|
|
41
|
+
lib64/
|
|
42
|
+
parts/
|
|
43
|
+
sdist/
|
|
44
|
+
var/
|
|
45
|
+
wheels/
|
|
46
|
+
pip-wheel-metadata/
|
|
47
|
+
share/python-wheels/
|
|
48
|
+
*.egg-info/
|
|
49
|
+
.installed.cfg
|
|
50
|
+
*.egg
|
|
51
|
+
MANIFEST
|
|
52
|
+
|
|
53
|
+
# PyInstaller
|
|
54
|
+
# Usually these files are written by a python script from a template
|
|
55
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
56
|
+
*.manifest
|
|
57
|
+
*.spec
|
|
58
|
+
|
|
59
|
+
# Installer logs
|
|
60
|
+
pip-log.txt
|
|
61
|
+
pip-delete-this-directory.txt
|
|
62
|
+
|
|
63
|
+
# Unit test / coverage reports
|
|
64
|
+
htmlcov/
|
|
65
|
+
.tox/
|
|
66
|
+
.nox/
|
|
67
|
+
.coverage
|
|
68
|
+
.coverage.*
|
|
69
|
+
.cache
|
|
70
|
+
nosetests.xml
|
|
71
|
+
coverage.xml
|
|
72
|
+
*.cover
|
|
73
|
+
*.py,cover
|
|
74
|
+
.hypothesis/
|
|
75
|
+
.pytest_cache/
|
|
76
|
+
|
|
77
|
+
# Translations
|
|
78
|
+
*.mo
|
|
79
|
+
*.pot
|
|
80
|
+
|
|
81
|
+
# Django stuff:
|
|
82
|
+
*.log
|
|
83
|
+
local_settings.py
|
|
84
|
+
db.sqlite3
|
|
85
|
+
db.sqlite3-journal
|
|
86
|
+
|
|
87
|
+
# Flask stuff:
|
|
88
|
+
instance/
|
|
89
|
+
.webassets-cache
|
|
90
|
+
|
|
91
|
+
# Scrapy stuff:
|
|
92
|
+
.scrapy
|
|
93
|
+
|
|
94
|
+
# Sphinx documentation
|
|
95
|
+
docs/_build/
|
|
96
|
+
|
|
97
|
+
# PyBuilder
|
|
98
|
+
target/
|
|
99
|
+
|
|
100
|
+
# Jupyter Notebook
|
|
101
|
+
.ipynb_checkpoints
|
|
102
|
+
|
|
103
|
+
# IPython
|
|
104
|
+
profile_default/
|
|
105
|
+
ipython_config.py
|
|
106
|
+
|
|
107
|
+
# pyenv
|
|
108
|
+
.python-version
|
|
109
|
+
|
|
110
|
+
# pipenv
|
|
111
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
112
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
113
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
114
|
+
# install all needed dependencies.
|
|
115
|
+
#Pipfile.lock
|
|
116
|
+
|
|
117
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
|
118
|
+
__pypackages__/
|
|
119
|
+
|
|
120
|
+
# Celery stuff
|
|
121
|
+
celerybeat-schedule
|
|
122
|
+
celerybeat.pid
|
|
123
|
+
|
|
124
|
+
# SageMath parsed files
|
|
125
|
+
*.sage.py
|
|
126
|
+
|
|
127
|
+
# Spyder project settings
|
|
128
|
+
.spyderproject
|
|
129
|
+
.spyproject
|
|
130
|
+
|
|
131
|
+
# Rope project settings
|
|
132
|
+
.ropeproject
|
|
133
|
+
|
|
134
|
+
# mkdocs documentation
|
|
135
|
+
/site
|
|
136
|
+
|
|
137
|
+
# mypy
|
|
138
|
+
.mypy_cache/
|
|
139
|
+
.dmypy.json
|
|
140
|
+
dmypy.json
|
|
141
|
+
|
|
142
|
+
# Pyre type checker
|
|
143
|
+
.pyre/
|
|
144
|
+
|
|
145
|
+
/src/endpoints/custom_configs/*
|
|
146
|
+
a/yaml_configs/custom_configs/*
|
|
147
|
+
|
|
148
|
+
uv.lock
|
|
149
|
+
.venv*
|
|
150
|
+
|
|
151
|
+
lightning_logs/
|
|
152
|
+
src/endpoints/local_test/
|
|
153
|
+
research_scripts/
|
|
154
|
+
scripts/
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
stages:
|
|
2
|
+
- lint
|
|
3
|
+
- test
|
|
4
|
+
- publish
|
|
5
|
+
|
|
6
|
+
variables:
|
|
7
|
+
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
|
|
8
|
+
HF_HOME: "$CI_PROJECT_DIR/.cache/huggingface"
|
|
9
|
+
TORCH_HOME: "$CI_PROJECT_DIR/.cache/torch"
|
|
10
|
+
UV_CACHE_DIR: "$CI_PROJECT_DIR/.cache/uv"
|
|
11
|
+
CUDA_VISIBLE_DEVICES: ""
|
|
12
|
+
|
|
13
|
+
# Reusable setup template
|
|
14
|
+
.setup:
|
|
15
|
+
image: python:3.14
|
|
16
|
+
before_script:
|
|
17
|
+
- pip install uv
|
|
18
|
+
- |
|
|
19
|
+
cat > .env << 'EOF'
|
|
20
|
+
VERSATIL_CACHE_DIR=/tmp/versatil/cache
|
|
21
|
+
VERSATIL_CHECKPOINT_DIR=/tmp/versatil/checkpoints
|
|
22
|
+
VERSATIL_ZARR_DIR=/tmp/versatil/zarr
|
|
23
|
+
VERSATIL_PRETRAINED_DIR=/tmp/versatil/pretrained
|
|
24
|
+
EOF
|
|
25
|
+
- |
|
|
26
|
+
if [ ! -x .venv/bin/python ]; then
|
|
27
|
+
rm -rf .venv
|
|
28
|
+
uv venv .venv
|
|
29
|
+
source .venv/bin/activate
|
|
30
|
+
uv pip install --extra-index-url https://download.pytorch.org/whl/cpu torch==2.10.0 torchaudio==2.10.0 torchvision==0.25.0
|
|
31
|
+
else
|
|
32
|
+
source .venv/bin/activate
|
|
33
|
+
fi
|
|
34
|
+
- uv sync
|
|
35
|
+
cache:
|
|
36
|
+
key: "$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA"
|
|
37
|
+
paths:
|
|
38
|
+
- .cache/
|
|
39
|
+
- .venv/
|
|
40
|
+
|
|
41
|
+
ruff-format:
|
|
42
|
+
stage: lint
|
|
43
|
+
image: python:3.14
|
|
44
|
+
before_script:
|
|
45
|
+
- pip install ruff==0.15.6
|
|
46
|
+
script:
|
|
47
|
+
- ruff format --check src/ tests/
|
|
48
|
+
rules:
|
|
49
|
+
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
50
|
+
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
51
|
+
|
|
52
|
+
ruff-lint:
|
|
53
|
+
stage: lint
|
|
54
|
+
image: python:3.14
|
|
55
|
+
before_script:
|
|
56
|
+
- pip install ruff==0.15.6
|
|
57
|
+
script:
|
|
58
|
+
- ruff check src/ tests/
|
|
59
|
+
rules:
|
|
60
|
+
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
61
|
+
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
62
|
+
|
|
63
|
+
tests:
|
|
64
|
+
stage: test
|
|
65
|
+
extends: .setup
|
|
66
|
+
script:
|
|
67
|
+
- uv pip install pytest-cov
|
|
68
|
+
- python -m pytest tests/ -m "not integration and not slow and not requires_gpu" --cov=versatil --tb=short -q --junitxml=report-unit.xml
|
|
69
|
+
- python -m pytest tests/ -m "integration" --cov=versatil --cov-append --cov-fail-under=90 --cov-report=xml:coverage.xml --cov-report=term-missing --tb=short -q --junitxml=report-integration.xml
|
|
70
|
+
coverage: '/(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/'
|
|
71
|
+
artifacts:
|
|
72
|
+
when: always
|
|
73
|
+
reports:
|
|
74
|
+
junit:
|
|
75
|
+
- report-unit.xml
|
|
76
|
+
- report-integration.xml
|
|
77
|
+
coverage_report:
|
|
78
|
+
coverage_format: cobertura
|
|
79
|
+
path: coverage.xml
|
|
80
|
+
rules:
|
|
81
|
+
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
82
|
+
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
83
|
+
|
|
84
|
+
e2e-tests:
|
|
85
|
+
stage: test
|
|
86
|
+
extends: .setup
|
|
87
|
+
timeout: 60 minutes
|
|
88
|
+
cache:
|
|
89
|
+
policy: pull
|
|
90
|
+
script:
|
|
91
|
+
- python -m pytest tests/endpoints/test_end_to_end.py -m "slow" --tb=short -q --junitxml=report-e2e.xml
|
|
92
|
+
artifacts:
|
|
93
|
+
when: always
|
|
94
|
+
reports:
|
|
95
|
+
junit: report-e2e.xml
|
|
96
|
+
rules:
|
|
97
|
+
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
98
|
+
when: always
|
|
99
|
+
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
100
|
+
when: manual
|
|
101
|
+
allow_failure: true
|
|
102
|
+
|
|
103
|
+
publish-pypi:
|
|
104
|
+
stage: publish
|
|
105
|
+
image: python:3.14
|
|
106
|
+
before_script:
|
|
107
|
+
- pip install build twine
|
|
108
|
+
script:
|
|
109
|
+
- python -m build
|
|
110
|
+
- twine upload dist/* --non-interactive
|
|
111
|
+
variables:
|
|
112
|
+
TWINE_USERNAME: __token__
|
|
113
|
+
TWINE_PASSWORD: $PYPI_TOKEN
|
|
114
|
+
rules:
|
|
115
|
+
- if: $CI_COMMIT_TAG =~ /^v\d+\.\d+\.\d+$/
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to VersatIL will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [0.3.0] - 2026-05-11
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- End-to-end experiment config families for PushT, Block Pushing, Kitchen, Multimodal Ant, UR3 Block Push, Multimodal Peg Transfer, and synthetic multimodal benchmarks, including state/RGB variants where supported.
|
|
14
|
+
- LIBERO/LIBERO+ configs for GPT-style action transformers, Pi0/SmolVLA-style VLA policies, and vision/language encoder sweeps.
|
|
15
|
+
- Dataset schema, Zarr metadata, observation/action-space configs, OmegaConf path resolvers, and `.env` variables for the new local/LeRobot-compatible benchmark families.
|
|
16
|
+
- Synthetic multimodal benchmark generation, presets, rollout metrics, and training/evaluation configs for mode-recovery experiments.
|
|
17
|
+
- Variational latent-modeling components for multimodal action distributions: VQ posterior encoder, uniform/learned codebook priors, DiT latent prior configs, conditional MMD losses, and relaxed conditional Sinkhorn/OT losses.
|
|
18
|
+
- Staged training support with epoch-indexed trainability, optimizer, and loss-weight overrides, plus prior-target standardization and richer latent/synthetic rollout callbacks.
|
|
19
|
+
- `Pi0Decoder` and `SmolVLADecoder` factories — interleaved VLM-expert joint attention architectures where a pretrained VLM backbone is paired 1:1 with learned expert layers. Pi0 fuses timestep via MLP, Pi0.5 via adaptive normalization. SmolVLA alternates cross-attention and joint self-attention layers.
|
|
20
|
+
- `GenerativeVLMEncoder` abstract base for single-stream VLMs (embed images → embed text → concat → LM). Thin subclasses: `PaliGemmaEncoder`, `SmolVLMEncoder`. Replaces the monolithic `multimodal/vlm.py`.
|
|
21
|
+
- `TwoTowerVLMEncoder` — CLIP-style separate vision/language towers with `ImageEncoderMixin` + `LanguageEncoderMixin`.
|
|
22
|
+
- `ImageEncoderMixin` — abstract base class for multi-camera dispatch with per-camera feature naming (`rgb:left`, `rgb:right`). Subclassed by `RGBEncoderMixin`, `DepthEncoderMixin`, `RGBDEncoderMixin`.
|
|
23
|
+
- Per-camera image sizes — encoding pipeline sets dimensions from `CameraMetadata` in observation space. `set_image_size()` hook on encoders.
|
|
24
|
+
- `LanguageEncoderMixin` — shared tokenized text pad/truncate, attention mask construction, and output padding mask.
|
|
25
|
+
- `FeatureMetadata` frozen dataclass `(key, feature_type, dimension)` with `FeatureType` enum (SPATIAL, SEQUENTIAL, FLAT). Replaces `EncoderOutput`.
|
|
26
|
+
- `GenerationCache` / `GenerationLayerCache` — append-only cache for autoregressive generation. Grows token-by-token.
|
|
27
|
+
- `ConditioningCache` / `ConditioningLayerCache` — write-once cache for static context (observations, encoder features). Stores K/V and optionally Q for bidirectional conditioning. Cache presence implies behavior — no `use_cache` boolean.
|
|
28
|
+
- Cross-attention caching for diffusion decoders — `DiffusionActionTransformer` precomputes conditioning K/V once and reuses across all denoising steps.
|
|
29
|
+
- Transformer package decomposed into `attention/`, `block/`, `layer/`, `cache/` sub-packages — ~1600 lines of duplicated diffusion transformer internals deleted.
|
|
30
|
+
- `TransformerMixin` — shared weight init, positional encoding setup/application with `offset` for cached generation, padding mask expansion.
|
|
31
|
+
- `BlockNormalization` type (`AdaNorm | UnconditionedNorm`) — uniform `(x, condition) → (normed, gate)` interface. Eliminates conditioning branches in transformer blocks.
|
|
32
|
+
- `GatedLinearUnit` generalizes `SwiGLU` — base class with configurable gate activation, plus `SwiGLU` (SiLU gate) and `GeGLU` (GELU-tanh gate) subclasses.
|
|
33
|
+
- Encoder refactoring — encoders renamed by output format (spatial vs flat), not architecture. `CNNEncoder` + `SwinEncoder` → `SpatialRGBEncoder`, `ViTEncoder` → `FlatRGBEncoder`, `DepthCNNEncoder` → `SpatialDepthEncoder`.
|
|
34
|
+
- New backbones: ConvNeXtV2-Nano, TinyViT-21M, DINOv3-ConvNeXt-Small.
|
|
35
|
+
- `exclude_cls` → `num_prefix_tokens` on `TokenPoolingHead` — handles CLS + register tokens.
|
|
36
|
+
- `ImageProcessor` — per-camera image processing extracted into standalone class (resize, augmentation, normalization).
|
|
37
|
+
- `CallbackProvider` protocol for training callbacks — decoders/algorithms declare their own callbacks; Workspace collects via protocol check instead of `isinstance` chains.
|
|
38
|
+
- `action_execution_horizon` parameter on `InferenceClient` — controls how many actions from each predicted chunk to execute before re-querying. Defaults to `prediction_horizon`.
|
|
39
|
+
- `make_attention_mask` supports `causal_actions` flag and `causal_prefix_suffix_length` for VLA prefix-suffix patterns.
|
|
40
|
+
- LR scheduler now uses HuggingFace `transformers.get_scheduler` with `lr_scheduler_kwargs` passthrough.
|
|
41
|
+
|
|
42
|
+
### Changed
|
|
43
|
+
- `ActionTransformer` no longer requires spatial features — accepts any feature type.
|
|
44
|
+
- Fusion modules report correct output feature types (SEQUENTIAL when inputs are sequential).
|
|
45
|
+
- `LanguageEncoder` detects CLS token via `AutoTokenizer.cls_token_id` instead of hardcoding.
|
|
46
|
+
- Encoding pipeline YAML defaults cleaned up: removed redundant `_target_`, added missing config group references.
|
|
47
|
+
- `DataLoaderConfig` no longer hardcodes `image_height`/`image_width` — dimensions come from per-camera `CameraMetadata`.
|
|
48
|
+
- `ObservationPreprocessor` uses `ImageProcessor` + `CameraMetadata` instead of raw albumentations transforms.
|
|
49
|
+
- `PolicyLoader` reads precision from checkpoint config instead of requiring a `precision` parameter.
|
|
50
|
+
- `FlowMatchingConfig` adds `reverse_flow_convention` flag.
|
|
51
|
+
- `data/augmentation/` restructured to `data/processing/` — `ActionProcessor` and `TransformBuilder` moved alongside `ImageProcessor`.
|
|
52
|
+
- `depth/dformerv2` and `depth/light_geometric` encoders moved to `cross_modal/rgbd/`.
|
|
53
|
+
- `multimodal/` package renamed by `cross_modal/`, `vlm.py` is now a `vision_language` package.
|
|
54
|
+
- Loss `_target_` paths updated across all YAML configs for metrics package restructure (removed `__init__.py` exports).
|
|
55
|
+
- Diffusion transformer high-level classes (`CrossAttentionDiT`, `MMDiTTransformer`, `DiTBlock`) now delegate to shared `transformer/` blocks and layers
|
|
56
|
+
instead of maintaining duplicated implementations.
|
|
57
|
+
- All `__init__.py` re-exports removed across transformer, training, and inference packages — consumers import from concrete modules.
|
|
58
|
+
|
|
59
|
+
### Fixed
|
|
60
|
+
- GPT Action Transformer tokenized head had a 64-dim MLP bottleneck before predicting 1025 vocab classes with weight tying in the same space. Removed bottleneck — direct `embedding_dimension` → vocab projection.
|
|
61
|
+
- `DiTPrior` always targeted noise regardless of `prediction_type` — now branches correctly for epsilon, sample, and velocity.
|
|
62
|
+
- `GaussianPrior` used stale `self.device` after `.to()` — now uses `_device_tracker` buffer.
|
|
63
|
+
- `ConditionalCNNEncoder` pooling head not re-frozen after `set_image_size()` when `frozen=True`.
|
|
64
|
+
- EMA callback `optimization_step` incremented per batch instead of per optimizer step — replaced with `trainer.global_step`.
|
|
65
|
+
- Inference client discarded predicted action chunks — without temporal aggregation, only first action was sent. Now sends `action_execution_horizon` actions per inference call.
|
|
66
|
+
- Post-training compression `validate()` skipped in global mode — iterated empty `self.modules` instead of resolved targets.
|
|
67
|
+
- `DictOfTensorMixin.device` raised `StopIteration` when `params_dict` empty — now uses `_device_tracker` buffer.
|
|
68
|
+
- DataLoader `persistent_workers=True` crashed with `num_workers=0` — now conditionally set.
|
|
69
|
+
- `TemporalAggregator` crashed with `IndexError` when exceeding `max_timesteps` — now raises `RuntimeError`.
|
|
70
|
+
- `TrajectoryLengthLoss` zeroed padded timesteps before computing diffs, creating spurious jumps at boundaries.
|
|
71
|
+
- `TrajectorySmoothness` padding mask only checked `is_pad[:, 2:]` but acceleration depends on 3 positions.
|
|
72
|
+
- `DiscreteDETRActionTransformer` had `requires_actions=True` but ignores actions — changed to `False`.
|
|
73
|
+
- `SmolVLADecoder` missing `proprioceptive_projection = None` init.
|
|
74
|
+
- Phantom batch in metrics accumulator from lazy module init — reset after dummy forward pass.
|
|
75
|
+
- SigLIP2 tokenizer fallback when `attention_mask` not returned.
|
|
76
|
+
|
|
77
|
+
### Removed
|
|
78
|
+
- Legacy encoder files: `rgb/cnn.py`, `rgb/swin.py`, `rgb/vit.py`, `depth/cnn.py` and their tests — superseded by `SpatialRGBEncoder`, `FlatRGBEncoder`, `SpatialDepthEncoder`.
|
|
79
|
+
|
|
80
|
+
## [0.2.0] - 2026-04-09
|
|
81
|
+
|
|
82
|
+
### Fixed
|
|
83
|
+
- `Policy.compute_loss` was comparing network predictions against raw ground-truth actions instead of the algorithm-specific targets (velocity field for flow matching, noise for diffusion epsilon mode). Introduced `DecodingAlgorithm.get_targets()` so each algorithm provides the correct regression target to the loss module.
|
|
84
|
+
- Added `DecodingAlgorithm.predicts_in_action_space` and `BaseLoss.requires_action_space_targets` to detect incompatible loss-algorithm pairings at init.
|
|
85
|
+
|
|
86
|
+
### Added
|
|
87
|
+
- Post-training compression pipeline (`post_training_compression/` + `quantization/`): `PostTrainingCompressor` orchestrates load → prepare → prune → export → quantize → save. Supports per-module `CompressionTarget`, composable pruning (unstructured + structured), PT2E quantization via `X86InductorBackend`, and quantize_() API for dynamic/weight-only quantization. `CompressedPolicyLoader` loads `.pt2` archives with `torch.compile`.
|
|
88
|
+
- Python 3.14 compatibility patch for torchao `Union.__module__` assignment.
|
|
89
|
+
|
|
90
|
+
### Changed
|
|
91
|
+
- `inference/__init__.py` and `inference/policy_loading/__init__.py` no longer re-export submodules (prevents circular imports)
|
|
92
|
+
- All consumers import from concrete modules (e.g., `from versatil.inference.policy_loading.float_loader import PolicyLoader`)
|
|
93
|
+
|
|
94
|
+
## [0.1.1] - 2026-03-20
|
|
95
|
+
|
|
96
|
+
Migrate to Python 3.13+ and PyTorch 2.10 with CUDA 12.8.
|
|
97
|
+
|
|
98
|
+
### Changed
|
|
99
|
+
- Minimum Python version raised from 3.11 to 3.13
|
|
100
|
+
- PyTorch upgraded to 2.10 with CUDA 12.8 (was 2.4 with CUDA 12.4)
|
|
101
|
+
- HuggingFace Transformers bumped to 5.x, with compatibility fixes for FAST tokenizer and SigLIP VLM encoder
|
|
102
|
+
- NumPy dependency bumped for Python 3.14 compatibility
|
|
103
|
+
- Ruff target version updated to `py313`
|
|
104
|
+
- `str, enum.Enum` replaced with `enum.StrEnum` (PEP 659, Python 3.11+)
|
|
105
|
+
- `torch.load` now uses `weights_only=False` by default to match PyTorch 2.10 behavior
|
|
106
|
+
- CI/CD Docker image updated to Python 3.14, pipelines now trigger only on merge requests
|
|
107
|
+
|
|
108
|
+
### Removed
|
|
109
|
+
- `flash-attn` dependency — PyTorch 2.10 SDPA natively dispatches to FlashAttention kernels
|
|
110
|
+
- `FLASH_ATTENTION_2` attention implementation type (replaced by `SDPA`)
|
|
111
|
+
|
|
112
|
+
### Fixed
|
|
113
|
+
- `asyncio.get_event_loop()` replaced with `asyncio.run()` for Python 3.14 compatibility in WebP codec
|
|
114
|
+
- OpenCV dependency conflict resolved
|
|
115
|
+
- CI/CD pipeline no longer passes silently when unit tests fail
|
|
116
|
+
|
|
117
|
+
## [0.1.0] - 2026-03-19
|
|
118
|
+
|
|
119
|
+
Initial release of VersatIL — a modular Imitation Learning framework for robotic manipulation.
|
|
120
|
+
|
|
121
|
+
### Added
|
|
122
|
+
- Composable policy architecture: Policy = EncodingPipeline + Algorithm + Action Decoder + Loss.
|
|
123
|
+
- Algorithms: Behavioral Cloning, Diffusion, Flow Matching, VariationalAlgorithm (compositional variational inference wrapping any base algorithm).
|
|
124
|
+
- Encoders: RGB/Depth (timm backbones), Conditional CNN (FiLM), DFormerV2, Geometric RGBD, Proprioceptive (MLP), Language (HuggingFace transformers), Vision-Language (HuggingFace multimodal).
|
|
125
|
+
- Fusion modules: Concatenation, MLP, Attention.
|
|
126
|
+
- Decoder factories: ACT, Action Transformer, Conditional Action U-Net, Diffusion Action Transformer (Cross-Attention and MultiModal), Discrete-DETR, DiT-Block, Free Action Transformer, GPT Action Transformer, LACT, MoDE-ACT, MoE Decoder, MoE Free Action Transformer, Phase-ACT.
|
|
127
|
+
- Action heads: Single-Output, Gaussian (mean + log-variance), Mixture of Experts (MoE).
|
|
128
|
+
- Data pipeline: Zarr episodic store, CSV/HDF5/LeRobot raw formats, action/observation processing, image augmentation, normalization, tokenization.
|
|
129
|
+
- Inference: pluggable transport protocol (ZMQ), observation/action preprocessing, temporal aggregation, unified client for simulation and on-hardware.
|
|
130
|
+
- Training: PyTorch Lightning loop, Hydra/OmegaConf configs, WandB tracking, custom callbacks and checkpoint management.
|
|
131
|
+
- Losses: composable system via `nn.Module` composition — regression, classification, KL divergence, Sinkhorn divergence, MMD.
|
|
132
|
+
- CI/CD: GitLab CI and GitHub Actions, unit and integration tests with >90% coverage, Ruff formatting/linting.
|