Instructions to use wkrfugs/driftwam-piper-4task with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use wkrfugs/driftwam-piper-4task with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("wkrfugs/driftwam-piper-4task", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Piper
How to use wkrfugs/driftwam-piper-4task with Piper:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
DriftWAM for Piper โ four tasks
Inference settings
Test the same weights in both settings:
| Setting | Video steps | Action steps | Video / action CFG | Video / action SNR shift |
|---|---|---|---|---|
| 1v/1a | 1 | 1 | 1 / 1 | 5 / 1 |
| 1v/2a | 1 | 2 | 1 / 1 | 5 / 1 |
No retraining is required to switch the action inference step count. The published results of these two settings must be measured separately.
Use the teacher's Piper interface
Use the installation and camera/history protocol from
lingbot-va-piper-inference
and the teacher model card. Reuse the teacher's VAE, text encoder and tokenizer;
these components are not duplicated here. base_components.json pins their source.
Download this repository instead of the teacher transformer. The teacher repository's
download_models.py is teacher-specific; do not use it to select these weights.
from huggingface_hub import snapshot_download
snapshot_download("wkrfugs/driftwam-piper-4task", local_dir="models/driftwam-piper-4task",
allow_patterns=["transformer/*", "norm_stats.json", "piper_contract.json"],
max_workers=2)
The existing PiperPolicy defaults to teacher sampling. Override its configuration
before the first reset(), or use this repository's distilled_policy.py helper:
from piper_wam import PiperPolicy
policy = PiperPolicy("models/driftwam-piper-4task", components_root="models/piper_teacher")
cfg = policy.server.job_config
cfg.num_inference_steps = 1
cfg.action_num_inference_steps = 1 # use 2 for the separate 1v/2a test
cfg.guidance_scale = 1.0
cfg.action_guidance_scale = 1.0
# Now use the same reset -> predict -> observe -> predict workflow as the teacher.
Run the caller with torchrun --standalone --nproc_per_node=1, as for the teacher.
The server rebuilds the sampling timesteps during inference and configures CFG caches
at reset; set these options before reset and do not change them mid-episode.
Inputs remain head/hand RGB observations, the full task instruction, and real observed
history with executed command history. policy.predict() returns [48, 7] unnormalized
absolute commands: six joint angles in radians, followed by gripper opening in meters.
Do not normalize again, add these values as deltas, or extract channels a second time.
Internally the seven valid channels of the 30-dimensional model are
[14, 15, 16, 17, 18, 19, 28]. Camera preprocessing and temporal alignment are unchanged.
Contents and scope
transformer/: original FP32 online weights (inference normally uses BF16).- Normalization, Piper interface contract, original episode split and training summary.
- The target/EMA model, optimizer and resumable training state are not included.
- Training denoising losses are not a claim of closed-loop robot success.
- Teacher runtime validation does not by itself validate these weights or both sampling settings on hardware; the collaborator should test each configuration.
See the teacher model card and upstream LingBot-VA repository for component licensing.
- Downloads last month
- -
Model tree for wkrfugs/driftwam-piper-4task
Base model
robbyant/lingbot-va-base