Tutorials¶
Runnable end-to-end Jupyter notebooks, from first preprocess to a trained classifier.
Available tutorials¶
- End-to-end pipeline — BVH directory →
preprocess_directory→MotionDatasetwith augmentation → tiny MLP classifier, training loop included. - Augmentation visualized — every array-level augmentation (
rotate_vertical,mirror,speed_perturbation_arrays,dropout_arrays,add_joint_rotation_noise,add_root_position_noise) shown before/after on a real skeleton, plus pipeline composition andset_epochreproducibility. - Heterogeneous preprocessing — mixing skeletons, frame rates, and up-axes:
harmonize=True+skip_errors+ the representation-aware compatibility check as a robust ingest recipe.
A reader who finishes all three has walked the full library surface: preprocessing, packing, augmentation, and the PyTorch layer.
Running locally¶
Notebooks execute in CI via pytest --nbmake tutorials/, so they can't silently rot.
Editing the tutorials (for contributors)¶
Each tutorial is a Jupytext-paired pair: a .ipynb file (the canonical rendered artifact, with outputs and plots) and a .py file in the Percent format (the plain-text source, git-friendly, reviewable as Python). Both files are committed.
To edit, change either side and sync:
Jupytext picks the newer file by mtime and updates the other side. After editing code cells, re-execute so the committed outputs stay in sync with the source:
pybvh's tutorials page has the full jupytext workflow write-up (VS Code / Jupyter Lab editing modes); the same conventions apply here.