Skip to main content

Professional YOLO training library with MLOps integration

Project description

wyolo: Professional YOLO MLOps Orchestrator

Pylint Score Security: Bandit Python 3.8+ License: MIT

wyolo is an enterprise-grade framework designed to manage the full lifecycle of YOLO and RT-DETR models. By leveraging a robust State Machine architecture and native MLOps integrations, wyolo provides a high-resiliency environment for computer vision training, tracking, and deployment.


🏗️ Architecture & System Design

1. 🚶 Execution Walkthrough (State Machine)

The system operates as a deterministic pipeline governed by conditional logic. It ensures environment integrity before committing expensive GPU resources.

For a visual flowchart, please refer to README_GIT.md.

2. 🗺️ Detailed System Workflow

Sequence of operations between the orchestrator, specialized states, and external MLOps entities.

For the sequence interaction diagram, please refer to README_GIT.md.

3. 🗺️ Architecture Components

A layered view of the ecosystem, illustrating the separation between orchestration, business logic, and infrastructure.

For the architectural mindmap, please refer to README_GIT.md.


✨ Key Features & Performance

  • 🚀 State-Driven Orchestration: Complex logic implemented via wpipe for maximum resiliency.
  • 🛡️ Quality-First Design: Maintains Pylint > 9.5 and regular Bandit security audits.
  • 📊 Native MLOps: Built-in MLflow tracking, automated model registry, and DVC data versioning.
  • ⚡ Resource Efficiency: Real-time monitoring of Peak RAM, CPU usage, and VRAM optimization.
  • 📦 Distributed Architecture: Designed to run as an independent worker container (wtrain-service).

⚙️ Lifecycle Management

a. Build Process (CI/CD)

  1. Multi-Stage Dockerfile: Optimizes image size while providing CUDA/CUDNN support.
  2. Environment Isolation: Automatic resolution of complex dependencies (RT-DETR, MLflow, Redis).
  3. Sanity Checks: Static analysis executed during the build phase.

b. Runtime Process (Execution)

  1. Initialization: train_service.sh triggers the service wrapper.
  2. Discovery: Automatic discovery of GPU topology and dataset paths.
  3. Orchestration: The Pipeline engine manages retries, timeouts, and state transitions.
  4. Persistence: Results and logs are persisted to wtrain.db (SQLite WAL) for audit trails.

📂 File-by-File Guide

Component Description
src/wyolo/app/main.py Entry point. Configures the wpipe state machine and orchestrates the worker.
src/wyolo/app/states/ Atomic state implementations (Check GPU, Dataset, MinIO, Train).
src/wyolo/core/ Core logic for the TrainerWrapper and MLflowManager.
src/wyolo/docker/ Production-ready orchestration scripts and requirements.
src/wyolo/trainer/ Specialized DTOs and implementation of the Elemental design pattern.
Makefile The central command center for installation, testing, and deployment.
index.html High-impact landing page for project stakeholders.

📂 Project Structure

src/wyolo
├── app
│   ├── main.py                <-- Orchestrator
│   └── states                 <-- State Machine Steps
│       ├── check/             <-- Validation Logic
│       ├── train/             <-- Training Execution
│       └── error_process/     <-- Resiliency Handling
├── core
│   ├── trainer_wrapper.py     <-- Engine Wrapper
│   └── mlflow_manager.py      <-- MLOps Tracking
└── docker
    ├── train_service.sh       <-- Production Entrypoint
    └── requirements.txt       <-- Locked Dependencies

🚀 Installation & Usage

# 1. Setup environment
make install

# 2. Run linting & security
make lint

# 3. Execute training suite
wyolo-train --config_path my_config.yaml

👨‍💻 Author

William Rodríguez - wisrovi
Technology Evangelist & AI Solutions Architect
LinkedIn Profile


📄 Bibliography & Resources

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wyolo-1.0.1.tar.gz (324.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wyolo-1.0.1-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file wyolo-1.0.1.tar.gz.

File metadata

  • Download URL: wyolo-1.0.1.tar.gz
  • Upload date:
  • Size: 324.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for wyolo-1.0.1.tar.gz
Algorithm Hash digest
SHA256 93b88072a7bde9e4ad2a6d0dcb1a08ce45e4fc02d3bb3fbe5c9c390c0a2b3948
MD5 135f77f69fa65d79a2b15ee31be0a9b9
BLAKE2b-256 b7ae70eabc3156ac80275d97e37460d72824098279ba48a2137658157d36b9d5

See more details on using hashes here.

File details

Details for the file wyolo-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: wyolo-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for wyolo-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7b93d9504b9abba588235b2d69736a52b86e0cc7f94ede5b4132e04d426d5ad8
MD5 acaee345681d28941f976786823defc1
BLAKE2b-256 e0d42c30923d46becd2295ec8d818ffafc0ef3998e70a7d7aed05d159c7f77eb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page