Dataset versions and pipeline
A dataset version records how to materialize train/valid/test data for export or training: splits, preprocessing, and augmentation.
Create a version
UI: Project detail → Generate / Versions.
API:
POST /api/projects/{project_id}/versions
Content-Type: application/json
{
"name": "640 stretch + light aug",
"notes": "",
"split_config": {"train": 70, "valid": 20, "test": 10},
"preprocessing_config": null,
"augmentation_config": {}
}
List versions:
GET /api/projects/{project_id}/versions
Versions are numbered sequentially per project.
Pipeline defaults
GET /api/pipeline/defaults
Returns the default preprocessing and augmentation configuration used when you leave options empty.
Preprocessing (typical defaults)
Resize (e.g. 640×640)
Stretch / letterbox style handling per config
Auto-orient (EXIF)
Augmentation
Augmentations are off by default. When enabled, options can include flips, rotation, brightness/contrast, blur, noise, hue/saturation, and an apply_to scope such as:
Value |
Meaning |
|---|---|
|
Train split only |
|
Train + valid |
|
All splits |
Exact keys mirror the Generate UI and preprocess service defaults.
When to create a new version
Create a new version when you change:
Label quality or class set meaningfully
Split strategy
Image size / preprocess settings
Augmentation recipe for training experiments
Keep older versions so you can compare training runs reproducibly.
Relation to training and export
Both Train and Export take a version_id. The job rebuilds the dataset according to that version’s pipeline rather than mutating your original project images in place.