Skip to content

Automate the YOLO training by Ultralytics for custome COCO datasets

License

Notifications You must be signed in to change notification settings

shahabahreini/AutoYOLO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoYolo

[ Automated Yolo Training ]

Overview

Automated Yolo Training is a comprehensive solution for training YOLO (You Only Look Once) models, with support for YOLOv11, YOLOv10, YOLOv9, YOLOv8, and YOLOX. This project streamlines the process of selecting models, configuring parameters, and training on custom datasets, all while integrating with ClearML for efficient experiment tracking.

Features

  • Support for multiple YOLO versions: YOLOv11, YOLOv10, YOLOv9, YOLOv8, and YOLOX
  • User-friendly command-line interface for model and dataset selection
  • Enhanced UI with professional-looking headers and improved table styling
  • Integration with ClearML for experiment tracking and management
  • Configurable training parameters via YAML configuration
  • ONNX export with optimization options
  • Automatic config backup and version control

Requirements

  • Python 3.7+
  • CUDA-compatible GPU (recommended)
  • Dependencies listed in requirements.txt

Installation

  1. Clone the repository:
git clone https://github.com/shahabahreini/Automated-Yolo-Training.git
cd automated-yolo-training
  1. Install the required packages:
pip install -r requirements.txt

ClearML Setup

To use ClearML for experiment tracking, follow these steps:

  1. Install ClearML:

    pip install clearml
  2. Configure ClearML: Run the following command to configure ClearML with your credentials:

    clearml-init

    This will prompt you to enter your ClearML credentials (API key, secret, and server). You can find these credentials in your ClearML account settings.

  3. Update config.yaml: Ensure that the config.yaml file includes the correct ClearML integration settings. The relevant section should look like this:

    clearml:
      sdk:
        api:
          api_server: "https://api.clear.ml"
          web_server: "https://app.clear.ml"
          files_server: "https://files.clear.ml"
        credentials:
          access_key: "YOUR_ACCESS_KEY"
          secret_key: "YOUR_SECRET_KEY"

Usage

  1. Prepare your dataset in the following structure:
datasets/
└── your_dataset_name/
    ├── train/
    │   ├── images/
    │   └── labels/
    ├── valid/
    │   ├── images/
    │   └── labels/
    └── test/
        ├── images/
        └── labels/
  1. Run the configuration script:
python3 run.py

This interactive script will guide you through selecting a YOLO model and dataset, with an improved user interface featuring stylized headers and enhanced table presentations.

  1. Start the training process:
python3 Yolov_trainer.py

Configuration

The config.yaml file contains all the necessary settings for training. Key sections include:

  • settings: General settings like model type and dataset
  • clearml: ClearML integration settings
  • training: Training hyperparameters
  • model: Dataset and model-specific parameters
  • export: Model export settings

Modify this file to customize your training process.

Files

  • run.py: Interactive script for model and dataset selection with enhanced UI
  • Yolov_trainer.py: Main training script
  • requirements.txt: List of Python dependencies
  • LICENSE.md: Apache License 2.0

License

This project is licensed under the Apache License 2.0. See the LICENSE.md file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Acknowledgements

About

Automate the YOLO training by Ultralytics for custome COCO datasets

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages