Tool that makes it easy to split YOLOs images and their associated labels into separate sets for training and testing.
Project description
yolo-splitter
Tool that makes it easy to split YOLOs images and their associated labels into separate sets for training and testing.
Installation
pip install yolosplitter
Uses
from yolosplitter import YoloSplitter
ys = YoloSplitter(imgFormat=['.jpg', '.jpeg', '.png'], labelFormat=['.txt'] )
# use this function if Image & Labels are in the same folder
df = ys.from_mixed_dir(input_dir="mydataset")
# If folder contains train test valid set already (yolo dataset)
df = ys.from_yolo_dir("mydataset")
# saves the Images and labels in "new_dataset" dir. with data.yaml file.
# change save=True if you want to create new dataset
ys.split_and_save(DF=df,output_dir="new_datset", ratio=(0.7, 0.2,0.1 ) ,save=False,shuffle=False)
# YOLO directory contaning (train,valid,test)
df = ys.from_yolo_dir("pot_holes")
df
# Dataframe contains Image names, Label names, annoations and class names.
# In the dataframe, we can observe the number of classes present in each image.
Input Directory
MyDataset/
├── 02.png
├── 02.txt
├── 03.png
├── 03.txt
├── 04.png
├── 04.txt
├── 05.png
├── 05.txt
├── 06.png
├── 06.txt
├── 07.png
├── 07.txt
├── 08.png
├── 08.txt
├── 09.png
├── 09.txt
├── 10.png
├── 10.txt
├── 11.png
└── 11.txt
Output Directory
MyDataset-splitted/
├── data.yaml
├── train
│ ├── images
│ │ ├── 03.png
│ │ ├── 04.png
│ │ ├── 05.png
│ │ ├── 07.png
│ │ ├── 08.png
│ │ ├── 09.png
│ │ └── 10.png
│ └── labels
│ ├── 03.txt
│ ├── 04.txt
│ ├── 05.txt
│ ├── 07.txt
│ ├── 08.txt
│ ├── 09.txt
│ └── 10.txt
└── val
├── images
│ ├── 02.png
│ ├── 06.png
│ └── 11.png
└── labels
├── 02.txt
├── 06.txt
└── 11.txt
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
yolosplitter-0.3.0.tar.gz
(4.4 kB
view hashes)
Built Distribution
Close
Hashes for yolosplitter-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f61a44e8ff1702cee4ac70046014223f5f0b9dbce7f6d9ffd3af11c410af9a86 |
|
MD5 | 46340a68c9e7c38373b973cb5e17df6a |
|
BLAKE2b-256 | 791bdd48ff9231b038b36f6e6b267a2f32e0abef5a0cd24466c4e54fbbb3a4f3 |