We want to make contributing to this project as easy and transparent as possible.
STyMo is a research codebase for few-shot motion style transfer. It is written in Python with PyTorch and uses pymotion for BVH I/O and skeleton operations, and Blender for visualization.
-
Fork and clone:
git clone https://github.com/YOUR_USERNAME/STyMo.git cd STyMo git remote add upstream https://github.com/facebookresearch/STyMo.git -
Create virtual environment:
python -m venv env source env/bin/activate # macOS/Linux # or .\env\Scripts\activate # Windows
-
Install PyTorch: follow https://pytorch.org/get-started/locally/ for your CUDA configuration.
-
Install dependencies:
pip install -r requirements.txt
-
Install Blender: https://www.blender.org/ (required for the GUI app and visualization).
-
Create a feature branch from
main:git checkout -b feature/your-feature-name
-
Make your changes. Please follow existing code style:
- Python: follow PEP 8, use type hints where practical, add docstrings for public functions
- Keep changes focused and well-scoped
-
Test your changes locally:
# Train on example data python src/stylizer_train.py motion/mocha/angry motion/mocha/neutral/Dance_Neutral_AverageJoe.bvh --epochs 10 --name test # Run inference GUI python src/stylizer_app.py motion/mocha/angry/results/Transformer-test motion/mocha/neutral/Dance_Neutral_AverageJoe.bvh
-
Commit and push:
git commit -m "Clear description of change" git push origin feature/your-feature-name -
Open a Pull Request on GitHub.
We actively welcome your pull requests.
- Fork the repo and create your branch from
main. - If you've added code that should be tested, add tests or example usage.
- If you've changed APIs, update the documentation and USAGE.md.
- Ensure existing functionality still works on the example motions.
- Make sure Python files include the standard Meta copyright header:
# Copyright (c) Meta Platforms, Inc. and affiliates. # # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. - If you haven't already, complete the Contributor License Agreement (CLA).
Use GitHub Issues to report bugs or request features. Please include:
- Python version, PyTorch version, OS
- Command or steps to reproduce
- Relevant BVH files or error logs if applicable
By contributing to STyMo, you agree that your contributions will be licensed under the MIT License found in the LICENSE file in the root directory of this source tree.