Professional YOLO training library with MLOps integration
Project description
wyolo: Professional YOLO MLOps Orchestrator
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
wpipefor 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)
- Multi-Stage Dockerfile: Optimizes image size while providing CUDA/CUDNN support.
- Environment Isolation: Automatic resolution of complex dependencies (RT-DETR, MLflow, Redis).
- Sanity Checks: Static analysis executed during the build phase.
b. Runtime Process (Execution)
- Initialization:
train_service.shtriggers the service wrapper. - Discovery: Automatic discovery of GPU topology and dataset paths.
- Orchestration: The Pipeline engine manages retries, timeouts, and state transitions.
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93b88072a7bde9e4ad2a6d0dcb1a08ce45e4fc02d3bb3fbe5c9c390c0a2b3948
|
|
| MD5 |
135f77f69fa65d79a2b15ee31be0a9b9
|
|
| BLAKE2b-256 |
b7ae70eabc3156ac80275d97e37460d72824098279ba48a2137658157d36b9d5
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b93d9504b9abba588235b2d69736a52b86e0cc7f94ede5b4132e04d426d5ad8
|
|
| MD5 |
acaee345681d28941f976786823defc1
|
|
| BLAKE2b-256 |
e0d42c30923d46becd2295ec8d818ffafc0ef3998e70a7d7aed05d159c7f77eb
|