Skip to main content

Split Folders Build Status PyPI PyPI - Python Version

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)

Source distribution for split-folders 0.1.0
File Size Uploaded
split_folders-0.1.0.tar.gz 3.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for split-folders 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

3 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page