executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
pretraining-and-adaptationRoutes vit-pytorch loss wrappers, self-supervised pretraining helpers, distillation, and adaptation or fine-tuning flows.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill when the user asks how to build or smoke-test vit-pytorch loss-based wrappers, self-supervised learners, distillation flows, or adaptation heads. The goal is to route to the right wrapper, identify expected inputs and outputs, and surface version/dependency pitfalls before a user starts a long training run.
verified, version_fragile, dependency_gap, and
unexpected_failure statuses.DistillableViT, DistillableT2TViT, DistillableEfficientViT, and
DistillWrapper one-step teacher/student distillation.MAE, SimMIM, MPP, and
MP3.Dino, EsViTTrainer, and LeJEPA.Adapter, VAT,
SigLIP-VAT, optional VAAT, WWT, and vit_with_decorr.ViT.Treat these as live caveats for this generated snapshot until the bundled smoke helper proves otherwise for the installed version:
MAE and SimMIM are intended to return scalar reconstruction losses, but
tiny current-package smokes with base ViT reproduce a positional-embedding
shape mismatch. Do not promise they work after an upgrade without rerunning
the helper.MPP is intended to return a scalar masked patch prediction loss, but the
current base-ViT usage is token-shape fragile around class-token and patch
embedding expectations.MP3, DistillWrapper, Dino, EsViTTrainer, Learnable Memory Adapter,
LeJEPA, VAT, SigLIP-VAT, WWT, and vit_with_decorr.ViT have tiny CPU smoke
patterns in the bundled helper. Still rerun the helper in the user’s runtime,
because optional dependencies and installed versions can differ.Identify the user’s requested wrapper and whether they need a scalar loss, logits, action predictions, or an adapter head.
Read references/workflows.md for the wrapper’s construction pattern and expected tensors.
Run a bounded check before full training:
python sub-skills/pretraining-and-adaptation/scripts/smoke_pretraining_wrappers.py
Add --json for machine-readable output, or --case dino --case distill
for a narrow check.
If any result is version_fragile, explain the exact pitfall and avoid
presenting that wrapper as verified. If any result is dependency_gap, name
the missing optional package instead of starting a full training script.
For long training, downloads, pretrained checkpoint loading, W&B/Accelerate, or real datasets, keep the one-step smoke separate from the heavyweight recipe and list the extra prerequisites explicitly.
DistillWrapper(img, labels) returns a finite scalar loss;
the distillable student can be converted back with .to_vit().loss.backward(), but MAE/SimMIM/MPP require current-version compatibility
checks before use.forward(images) returns a finite scalar self-supervised loss.
DINO and EsViT also require update_moving_average() after optimizer steps.Adapter(vit=..., num_classes=...) freezes the supplied
module-specific ViT and returns task logits.actions=..., return an L1 action-prediction loss;
without actions, return predicted action chunks. Prefer explicit view/time
dimensions for smoke inputs.vit_with_decorr.ViT: returns (logits, decorr_aux_loss); train with ordinary
task loss plus a weighted decorrelation auxiliary term.