Roboflow Vision Dataset Flow
An end-to-end dataset pipeline: upload, annotate, version with preprocessing, export to training formats, then deploy.
Why Does This Exist?
Most detection work stalls between labeling and training: formats mismatch, splits leak, preprocessing differs between teammates. Roboflow owns that middle: upload and annotate, generate a versioned dataset with preprocessing and augmentation baked in, export to any training format, and loop deployments back for active learning. It sits on dataset preparation and serves dataloaders and detection training.
This page covers the version contract, one split fixture, and appropriate use.
Think of It Like This
A cannery for harvests
Fruit arrives loose and perishable. The cannery sorts, washes, cans and labels dated batches, so winter kitchens open identical jars months later.
Roboflow is the cannery. Raw uploads are the harvest, versions are dated cans. The analogy stops at reversibility: canned fruit never returns raw, while a good version record regenerates its jars from source plus recipe.
How It Actually Works
Input is uploaded images with labels. Output is a versioned dataset: fixed splits, preprocessing steps, augmentation recipes, and exports in training formats with a frozen manifest. Purpose is reproducible dataset iteration with deployment feedback. Appropriate use is team detection and segmentation projects that retrain often. Generate a new version for every data or preprocessing change, because an unversioned tweak silently invalidates every comparison.
Split fixture
Take images split . Train gets , valid , test . A augmentation on train gives training samples while valid and test stay fixed. The diagram stacks those three bars with the doubled train bar, the version promise in one picture.
Code
Split math in plain Python:
def split(total: int) -> tuple[int, int, int]: return int(total * 0.7), int(total * 0.2), total - int(total * 0.7) - int(total * 0.2)
print(split(100)) # -> (70, 20, 10)print(70 * 2) # -> 14070 train doubles to 140, valid and test never augment.
Watch Out For
Augmenting before the split leaks data
Augmenting first then splitting puts sibling crops of one image on both sides of the line. The symptom is glowing validation beside weak deployment. Fix it by splitting the source images first, then augmenting only the train slice inside the version.
The Quick Version
- Roboflow maps uploads to versioned datasets with preprocessing baked in.
- 100 images split 70, 20, 10, and 2x augmentation gives 140 train samples.
- Valid and test stay fixed and unaugmented.
- Use it for team detection projects that retrain often.
- Version every change, and always split before augmenting.