This repo is a model integration between Ultralytics YOLOv9 model and Dataloop
YOLOv9 is a real-time object detection model that enhances efficiency and accuracy through innovations like Programmable Gradient Information (PGI) and the Generalized Efficient Layer Aggregation Network (GELAN). YOLOv9c is optimized for efficiency, while YOLOv9e is designed for maximum accuracy, making it suitable for high-precision applications. These configurations allow YOLOv9 to adapt to various computational environments and tasks.
- dtlpy
- ultralytics==8.2.22
- torch==2.0.0
- pillow>=9.5.0
- An account in the Dataloop platform
To install the package and create the YOLOv9 model adapter, you will need a project and a dataset in the Dataloop platform. The dataset should have directories, tags or you can use DQL filter to have training and validation subsets.
For finetuning on a custom dataset, click here
To edit configurations via the platform, go to the YOLOv9 page in the Model Management and edit the json file displayed there or, via the SDK, by editing the model configuration. Click here for more information.
The basic configurations included are:
epochs
: number of epochs to train the model (default: 50)batch_size
: batch size to be used during the training (default: 2)imgsz
: the size (imgsz x imgsz) to which images are reshaped before going through the model (default: 640)device
: whether to train oncpu
orcuda
(default to automatic detection of whether the instance has a GPU)augment
: boolean,True
if you wish to use ultralytics' augmentation techniques on the training data ( default:False
)labels
: The labels over which the model will train and predict (defaults to the labels in the model's dataset's recipe)id_to_label_map
: Dictionary mapping numbers to labels to guide the model outputslabel_to_id_map
: Inverse map fromid_to_label_map
yaml_config
: dictionary to pass for the training yml config
Additional configurations shown in the Ultralytics documentation can be
included in a dictionary under the key yaml_config
.
After installing the pretrained model or fine-tuning it on your data, it is necessary to deploy it, so it can be used for prediction.
The original YOLOv9 paper can be found on arXiv. The authors have made their work publicly available, and the codebase can be accessed on GitHub. We appreciate their efforts in advancing the field and making their work accessible to the broader community.