YOLOmatic: Automated YOLO Training Pipeline

Key Features

  • Comprehensive YOLO Support: Compatible with YOLOv8, YOLOv9, YOLOv10, and YOLOv11
  • Interactive Terminal UI: User-friendly command-line interface for model and dataset selection
  • ClearML Integration: Built-in experiment tracking and management
  • Automated Workflow: Streamlined configuration and training process
  • Custom Dataset Support: Optimized for COCO format datasets
  • Professional UI: Enhanced headers and table styling for better user experience
  • Flexible Configuration: YAML-based parameter management
  • ONNX Export: Built-in model export capabilities with optimization options
Getting Started (Install)

To begin, try to clone and install the repo with the following commands:

git clone https://github.com/shahabahreini/YOLOmatic.git
cd YOLOmatic
pip install -r requirements.txt

After that, organize your dataset as follows (notably, I recommend RoboFlow to prepare the dataset):

datasets/
└── your_dataset_name/
    ├── train/
    │   ├── images/
    │   └── labels/
    ├── valid/
    │   ├── images/
    │   └── labels/
    └── test/
        ├── images/
        └── labels/
Run and Train YOLO
python3 run.py
python3 Yolov_trainer.py

Description

This project addresses the challenge of automating YOLO model training workflows, bridging the gap between different YOLO versions, and simplifying the complex configuration process.

Language: Python 3.x

Framework: Multiple YOLO versions (v8-v11) with Terminal User Interface

Features: Multi-version YOLO support, automated configuration management, integrated experiment tracking via ClearML, real-time training feedback, model export options (ONNX, TensorRT)

Environment: Local GPU/CPU setup

Source Code: GitHub

License: Apache 2.0