Example #1
0
def test_split_fixed_sample_unbalanced():
    input_dir = os.path.join(os.path.dirname(__file__), "imgs")
    output_dir = os.path.join(os.path.dirname(__file__), "output")

    shutil.rmtree(output_dir, ignore_errors=True)

    with pytest.raises(ValueError):
        split_folders.fixed(input_dir, output_dir, fixed=(9, 1), oversample=True)
def split_images(input_directory, output_directory,type,value):
    if(type == "ratio"):
        # Split with a ratio.
        # To only split into training and validation set, set a tuple to `ratio`, i.e, `(.8, .2)`.
        split_folders.ratio(input_directory, output_directory, seed=1337, ratio=value) # default values
    elif(type == "fixed"):
        # Split val/test with a fixed number of items e.g. 100 for each set.
        # To only split into training and validation set, use a single number to `fixed`, i.e., `10`.
        split_folders.fixed(input_directory, output_directory, seed=1337, fixed=value, oversample=False) # default values
    else:
        print("Invalid input")
Example #3
0
def test_split_fixed_sample():
    input_dir = os.path.join(os.path.dirname(__file__), "imgs")
    output_dir = os.path.join(os.path.dirname(__file__), "output")

    shutil.rmtree(output_dir, ignore_errors=True)

    split_folders.fixed(input_dir, output_dir, fixed=(2, 2), oversample=True)

    # ensure the number of pics is the same
    a = len(list(pathlib.Path(input_dir).glob("**/*.jpg")))
    b = len(list(pathlib.Path(output_dir).glob("**/*.jpg")))
    assert a != b
Example #4
0
def test_split_fixed():
    input_dir = os.path.join(os.path.dirname(__file__), 'imgs')
    output_dir = os.path.join(os.path.dirname(__file__), 'output')

    shutil.rmtree(output_dir, ignore_errors=True)

    split_folders.fixed(input_dir, output_dir, fixed=(2, 2))

    # ensure the number of pics is the same
    a = len(list(pathlib.Path(input_dir).glob('**/*.jpg')))
    b = len(list(pathlib.Path(output_dir).glob('**/*.jpg')))
    assert a == b
Example #5
0
import split_folders

# Split with a ratio.
# To only split into training and validation set, set a tuple to `ratio`, i.e, `(.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, use a single number to `fixed`, i.e., `10`.
split_folders.fixed('input_folder',
                    output="output",
                    seed=1337,
                    fixed=(100, 100),
                    oversample=False)  # default values
Example #6
0
import split_folders

# Split with a ratio.
# To only split into training and validation set, set a tuple to `ratio`, i.e, `(.8, .2)`.
split_folders.ratio('./img_root/', output="output", seed=1337,
                    ratio=(.8, .2))  # 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, use a single number to `fixed`, i.e., `10`.
split_folders.fixed('./img_root/',
                    output="output",
                    seed=1337,
                    fixed=(10),
                    oversample=False)  # default values
Example #7
0
# for splitting the dataset into tain,test and validation dataset.
import split_folders

# Split with a ratio.
# To only split into training and validation set, set a tuple to `ratio`, i.e, `(.8, .2)`.
# split_folders.ratio('/home/satvik/Downloads/major/satu/satu', 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, use a single number to `fixed`, i.e., `10`.
split_folders.fixed('/home/satvik/Downloads/major/satu', output="/home/satvik/Downloads/major/dataset", seed=1337, fixed=(50, 50), oversample=False) # default values
import numpy as np
import pandas as pd
import json
from pathlib import Path
import os
from fastai.vision import *
import split_folders

path = Path(r'E:\paintings-dataset\wikiart\train')
output_path = Path(r'E:\paintings-dataset')

split_folders.fixed(path,
                    output=output_path,
                    fixed=(100, 20),
                    oversample=False)  # default values

# for dir_class in split_folders.list_dirs(path):
#     print(len(split_folders.list_files(dir_class)))

ImageList