Splitting data into train, validation, and test splits is essential to building good computer vision models. We are excited to announce in-app changes to Roboflow that make it even easier to manage your train test splits as you are working through the computer vision workflow.
Splitting Data on Upload
As before, you will be able to split your dataset into train, validation, and test splits in the upload flow. You can choose to keep the same splits that your folder structure reveals, or randomly shuffle images between train, validation, and test splits.
Changing splits on upload is a start, but many users requested the ability to change train/validation/test splits within a Roboflow dataset. We heard you! We're excited to to announce a solution.
Splitting Data within the Dataset Page
We thought splitting your dataset into different splits should be as easy as making other modifications to your dataset. So now, in the
Modify Dataset tab, underneath
Train/Test Split there is a button to
Edit Splits. To change your splits simply toggle that button and pick the desired split distribution. Once the split looks good, hit
Save Splits and the new dataset splits will be saved to the database.
Notes on in-app split changing
The new split will be reflected in future version exports. and remember augmentations only multiply on the training set). Past dataset versions do not change, as they are to be a source of record.
Images are moved between splits to satisfy the difference between desired and current. The rest of your dataset is not randomly reshuffled.
If you want to curate a present a specific testing set, the way to do that is still to organize images outside of Roboflow and upload with option
Add all Images to Testing Set.
When to edit your splits
It is tempting to move as many images to the training set as possible to show your model the most variety it can see. However, this significantly degrades the quality of evaluation metrics you have to see how well your model is learning. At Roboflow, we recommend a 70% train/20% validation/10% train split to get the most out of your training set while getting a good look at evaluation metrics.
There's a new way to edit your train/validation/test split in-app in Roboflow. Use it wisely.
Happy splitting, and as always, happy training!