Image Classification
IMPORTANT
Every change in this tab must be saved by clicking 💾 Save Configuration before starting training. Training uses the last saved settings.
Model Variant
| Variant | Speed / Accuracy | Best Use Case |
|---|---|---|
| YOLOv8n (Nano) | Fastest / Lower accuracy | Edge devices with very limited compute |
| YOLOv8s (Small) | Fast / Moderate | General-purpose edge deployment |
| YOLOv8m (Medium) | Moderate / High | Powerful edge devices or desktop inference |
| YOLOv8l (Large) | Slower / Highest | Maximum accuracy where compute is available |
TIP
Start with YOLOv8n. Upgrade to a larger variant only if accuracy is insufficient.
Task Type
| Task Type | Description |
|---|---|
| Detection | Outputs bounding boxes with class labels and confidence scores |
Dataset Format
| Format | Description |
|---|---|
| YOLO | YOLO-format .txt label files — default and recommended |
| COCO | COCO JSON annotation format |
| Pascal VOC | XML annotation format |
Image Configuration
| Parameter | Description | Recommended |
|---|---|---|
| Image Size | Resolution images are resized to before training. Larger = better for small objects, slower. | 640 px |
| Channels | RGB (3-channel) or Grayscale (1-channel) | RGB |
| Train Split | Percentage of dataset used for training | 80% |
| Validation Split | Percentage reserved for validation metrics | 20% |
Data Augmentation
| Augmentation | Effect | Recommended |
|---|---|---|
| Horizontal Flip | Mirrors image left-to-right randomly | Yes |
| Rotation | Random angle rotation | Yes |
| Brightness | Random brighten or darken | Yes |
| Mosaic | Combines 4 training images into one tile — very effective for detection | Yes |
| Blur | Applies Gaussian blur | Optional |
| Noise | Adds random pixel noise | Optional |
Inference Configuration
| Parameter | Description | Default |
|---|---|---|
| Confidence Threshold | Minimum confidence score for a detection to be returned | 0.25 |
| IoU Threshold | NMS threshold for bounding box overlap before discarding lower-confidence boxes | 0.45 |
| Max Detections | Maximum bounding boxes returned per image | 100 |
Training Hyperparameters
| Parameter | Description | Default |
|---|---|---|
| Epochs | Complete passes through the training dataset | 100 |
| Patience | Epochs without improvement before early stopping | 4 |
| Batch Size | Images per training step. Reduce if out of memory. | 16 |
NOTE
QAT (Quantization Aware Training) is hidden for Image projects — YOLO uses a different quantization flow during ONNX export.
Dataset Splitting & YAML Generation
Before training, split your dataset and generate data.yaml via the Preprocessing tab.
- Click "Split & Analyze Dataset" to scan
datasets/, detect imbalances, and view statistics - Set Train Split (80%) and Validation Split (20%), then click the split button
- Click "Generate YAML Files" — creates
data.yamlin your project root
The split keeps images in their original class folders and only distributes label files into train/val subfolders:
datasets/
human_face/
image1.jpg
image2.jpg
labels/
image1.txt
image2.txt
classes.txt
labels/
train/ ← training label .txt files
val/ ← validation label .txt files
Typical data.yaml content:
path: /path/to/your/project
train: datasets/images/train
val: datasets/images/val
names:
0: class_name_1
1: class_name_2
TIP
After generating the YAML file, verify class names are correctly mapped and match the class IDs in your label files (0-indexed).