[ Automated Yolo Training ]
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.
- 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
- Python 3.7+
- CUDA-compatible GPU (recommended)
- Dependencies listed in
requirements.txt
- Clone the repository:
git clone https://github.com/shahabahreini/Automated-Yolo-Training.git
cd automated-yolo-training
- Install the required packages:
pip install -r requirements.txt
To use ClearML for experiment tracking, follow these steps:
-
Install ClearML:
pip install clearml
-
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.
-
Update
config.yaml
: Ensure that theconfig.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"
- Prepare your dataset in the following structure:
datasets/
└── your_dataset_name/
├── train/
│ ├── images/
│ └── labels/
├── valid/
│ ├── images/
│ └── labels/
└── test/
├── images/
└── labels/
- 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.
- Start the training process:
python3 Yolov_trainer.py
The config.yaml
file contains all the necessary settings for training. Key sections include:
settings
: General settings like model type and datasetclearml
: ClearML integration settingstraining
: Training hyperparametersmodel
: Dataset and model-specific parametersexport
: Model export settings
Modify this file to customize your training process.
run.py
: Interactive script for model and dataset selection with enhanced UIYolov_trainer.py
: Main training scriptrequirements.txt
: List of Python dependenciesLICENSE.md
: Apache License 2.0
This project is licensed under the Apache License 2.0. See the LICENSE.md file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
- Ultralytics for YOLO implementations
- ClearML for experiment tracking