Split Folders

Split folders with files (e.g. images) into train, validation and test (dataset) folders.
The input folder shoud have the following format:
input/
class1/
img1.jpg
img2.jpg
...
class2/
imgWhatever.jpg
...
...
In order to give you this:
output/
train/
class1/
img1.jpg
...
class2/
imga.jpg
...
val/
class1/
img2.jpg
...
class2/
imgb.jpg
...
test/
class1/
img3.jpg
...
class2/
imgc.jpg
...
This should get you started to do some serious deep learning on your data. Read here why it's a good idea to split your data intro three different sets.
- You may only split into a training and validation set.
- The data gets split before it gets shuffled.
- A seed lets you reproduce the splits.
- Works on any file types.
- (Should) work on all operating systems.
Install
pip install split-folders
Usage
You you can use split_folders as Python module or as a Command Line Interface (CLI).
Module
import split_folders
# split with a ratio. To only split into training and validation set, set a tuple, e.g. (.8, .2)
split_folders.ratio('input_folder', output="output", seed=1337, ratio=(.8, .1, .1)) # default values
# split val/test with a fixed number of items e.g. 100 for each set. To only split into training and validation set, a single number.
split_folders.fixed('input_folder', output="output", seed=1337, fixed=(100, 100)) # default values
CLI
Usage:
split_folders folder_with_images [--output] [--ratio] [--fixed] [--seed]
Options:
--output path to the output folder. defaults to `output`. Get created if non-existent.
--ratio the ratio to split. e.g. for train/val/test `.8 .1 .1` or for train/val `.8 .2`
--fixed set the absolute number of items per validation/test set. The remaining items constitute the training set.
e.g. for train/val/test `100 100` or for train/val `100`
--seed set seed value for shuffling the items. defaults to 1337.
Example:
split_folders imgs --ratio .8 .1 .1
License
MIT.
Release files for split-folders 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| split_folders-0.1.0.tar.gz | 3.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| split_folders-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.0 kB
Release files / split_folders-0.1.0.tar.gz
| Download URL | split_folders-0.1.0.tar.gz |
|---|---|
| Size | 3.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ec88fd6a4f965d6739a72951f83f85abb24c92926a7148b72a465d69bce3095
|
|
BLAKE2b-256 checksum How to use checksums |
96626946b29e5c99d51a9370a3c75a5716f8626676685129598a4304f62e5ee5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5
|
Release files / split_folders-0.1.0-py3-none-any.whl
| Download URL | split_folders-0.1.0-py3-none-any.whl |
|---|---|
| Size | 5.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1ef097d4cb15b68d14b85759eaa22e6836d304bc7c5e6aa51d501e4e4835142f
|
|
BLAKE2b-256 checksum How to use checksums |
e13dc402a2dc38010e34d51227ba5e227e8e73a41cd17ee7b424dd4ae947d7cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5
|