Skip to content
Danylo Chystiakov edited this page Jul 7, 2026 · 1 revision

Welcome to MLFramework Template

The MLFramework Template provides a reproducible, scalable, and production-ready foundation for Machine Learning experiments. It is designed to abstract away the boilerplate associated with environment setup, configuration management, and tracking, allowing researchers and engineers to focus entirely on model architecture and data processing.

This template integrates industry-standard MLOps tools into a cohesive ecosystem, ensuring that experiments are strictly versioned, typed, and isolated.

Technology Stack

The infrastructure is built upon the principles of determinism, speed, and strict typing:

  • Environment & Dependency Management:

    • uv - High-performance Python package manager.
    • Nix - Declarative system-level dependency isolation (e.g., CUDA toolkits, C++ binaries) to ensure reproducibility across different Linux distributions.
  • Modeling & Task Abstraction:

    • PyTorch Lightning - Hardware-agnostic training loop abstraction, facilitating seamless scaling from a single GPU to distributed clusters.
    • Hydra - Hierarchical configuration management, enabling dynamic hyperparameter injection via YAML files and CLI overrides.
  • Experiment Tracking:

    • MLflow - Centralized logging for metrics, parameters, and automated artifact/checkpoint management.
  • Data Versioning:

    • DVC - Git-agnostic version control for large datasets (e.g., GPR scans, high-resolution imagery) with Google Drive remote storage support.
  • Code Quality:

    • Ruff - Ultra-fast Python linter and code formatter.
    • Mypy - Static type checker operating in strict mode to guarantee codebase reliability.

Wiki Navigation

Refer to the sidebar or the links below to navigate the documentation:

  1. Quickstart - Step-by-step guide to initializing the environment.
  2. Project Structure - Architectural overview of the repository directories.
  3. Configuration Management - Guidelines on using Hydra for model and data parameters.
  4. Training and Evaluation - Instructions for executing the CLI, utilizing MLflow, and managing checkpoints.
  5. Data Versioning - Best practices for handling large artifacts with DVC.
  6. Code Quality - Overview of the CI pipeline, including Makefile usage, Ruff, and Mypy.

License

This project is distributed under the PolyForm Noncommercial 1.0.0 license. You are permitted to use, modify, and distribute this software for educational, research, and non-commercial purposes. Any commercial application is strictly prohibited. For complete terms, please refer to the LICENSE file located in the repository root.

Clone this wiki locally