-
Notifications
You must be signed in to change notification settings - Fork 0
Quickstart
This guide outlines the steps required to instantiate a new project from the MLFramework Template, configure the isolated environment, and execute the baseline training pipeline.
Ensure the following system-level tools are installed prior to initialization:
- Git
- Nix (with flakes feature enabled, Optional)
- direnv
- Navigate to the MLFramework Template repository on GitHub.
- Click the Use this template button to generate a new repository based on this structure.
- Clone your newly created repository to your local machine:
git clone [https://github.com/](https://github.com/)<your-username>/<your-new-project>.git
cd <your-new-project>This project utilizes Nix and direnv for deterministic environment provisioning. To initialize the environment, explicitly allow direnv to execute the local configuration:
direnv allowUpon execution, this directive will automatically:
- Provision necessary system-level dependencies (e.g., CUDA toolkits, C++ binaries) via Nix.
- Trigger uv to resolve and install all Python dependencies specified in pyproject.toml into an isolated local .venv directory.
- Prepend the .venv/bin directory to your execution PATH to ensure command isolation.
Local secrets and environment-specific variables (such as MLFLOW_TRACKING_URI) must be stored securely and excluded from version control. Generate the .env file using the predefined Makefile target:
make dotenv_initOpen the generated .env file and populate it with your specific infrastructure credentials.
Initialize the local DVC repository to enable tracking of large datasets and model artifacts:
make dvc_initWith the environment fully configured, verify the infrastructure by executing the baseline training task. The template includes an example configuration leveraging Hydra and PyTorch Lightning.
Run the following command:
python -m src.cli train -c example_config.yamlIf the setup is successful, the CLI will output the initialization sequence, compile the DataModule and model architecture, and immediately commence the PyTorch Lightning training loop.
If you utilize this framework template in your research or engineering workflows, please consider citing it to support ongoing development:
@software{MLFramework_Template_2026,
author = {Danylo Chystiakov},
title = {MLFramework Template: A Reproducible MLOps Environment},
year = {2026},
url = {[https://github.com/allllpina/MLTemplate](https://github.com/allllpina/MLTemplate)}
}This template is built upon the philosophies and architectural patterns established by the following foundational projects:
- Hydra for hierarchical configuration.
- PyTorch Lightning for hardware-agnostic training abstractions.
- Data Version Control (DVC) for Git-integrated data management.
Contact & Support For inquiries regarding architectural decisions, bug reports, or feature requests, please open an issue on the GitHub repository.
Maintained by Danylo Chystiakov.