Dataset Splitter
Create reproducible train, validation, and test folders with matching labels.
Read the guide and worked example ↓
Recent Results
The download appears directly below its progress bar when processing finishes.
How to use Dataset Splitter
Create train, validation, and test folders from an image dataset using a repeatable shuffle. This is a file-level random splitter. It is useful when images are independent; related videos, subjects, or sessions require a deliberately grouped split instead.
Prepare, run, and review
- Prepare images and matching labels with unique base names across the ZIP. The current processor pairs labels by base name and flattens file names inside each output group.
- Choose percentages that total 100. The defaults are 70 percent training, 20 percent validation, and 10 percent testing. Choose the split based on the data and evaluation goal, not simply because a default is provided.
- Record the shuffle seed. The same input file set and seed make this procedure repeatable; adding files can change group membership even when the seed stays the same.
- Download dataset_split.zip and inspect the train, val, and test folders. Check both counts and representative image-label pairs before using the result.
Download a small, synthetic example dataset. It contains four labeled rectangle images and a matching copy of the first image for duplicate-check practice. It is for learning the file workflow, not for training a useful detector.
Expected folder layout
train/images/frame_001.jpg
train/labels/frame_001.txt
val/images/frame_017.jpg
val/labels/frame_017.txt
test/images/frame_029.jpg
test/labels/frame_029.txtFor 100 images at 70/20/10, the requested counts are 70, 20, and 10. For small datasets, rounding can produce different proportions or an empty subset. Inspect the actual counts. The layout groups each split's images and labels; configure your training software to match this layout rather than assuming a particular framework's default folders.
Limits and common mistakes
- The splitter does not stratify by class and does not group by video, subject, location, or recording day. Random file assignment can leak related examples across subsets.
- Duplicate base names in separate input folders can cause ambiguous pairing or output collisions. Rename and verify pairs before running the tool.
- Images without matching labels can still be copied. Validate whether unlabeled examples are appropriate for the intended training pipeline.
- The split archive does not replace a full experiment record. Save the input dataset version, percentages, seed, and final group membership.
Can I safely random-split frames from one video to test performance on new videos?
Not reliably. Nearby frames may be nearly identical. Split complete videos or recording groups first when the evaluation goal is generalization to new recordings.
Continue learning
ToolsInVision guide · Updated September 26, 2026 · Editorial approach · Report an issue