目标:用split-folders进行数据集划分
学习资源:https://www.youtube.com/watch?v=C6wbr1jJvVs
@努力的小巴掌 记录计算机视觉学习道路上的所思所得。
现在已经有了数据集,并且,注意,是已经划分好类别的!
文件结构原本是这样:
需要划分成这样:
下载库:
split-folders
split-folders/splitfolders at main · jfilter/split-folders · GitHub
先查看自己的图片,确保是已经按照不同类别分好类的。
比如,有一个大的文件夹是cell的图片,里面有未感染的(uninfected)和寄生虫感染的。
可以看到,已经分好类了。
接下来,把每个类别的文件夹的图像,划分成训练集,验证集,测试集。
开始划分:
1、导包
pip install split-folders
2、载入包
import splitfolders
3、指定我要划分的图像在哪个文件,这个是各种类别上面一层的总文件夹,所有文件存放的地方。
input_folder = 'cell_images/'
然后这些原图像,将会被复制到一个新的空白文件夹cell_images2
cell_images2是输出的文件夹
4、开始划分
方法一:给定比例,按照比例来划分
splitfolders.ratio(input_folder,output="cell_images2",seed=42,ratio=(0.7,0.2,0.1),group_prefix=None)
参数解释:
input_folder:图像输入文件夹
output:划分好的图像输出文件夹
seed=42:随机数种子
ratio=(0.7,0.2,0.1):划分比例
方法二:指定验证集和测试集放多少张图片
splitfolders.ratio(input_folder,output="cell_images2",seed=42,fixed=(35,20),overrsample=False,group_prefix=None)
代码
方法一比例划分:
#导包
pip install split-folders
#载入包
import splitfolders
#指定我要划分的图像在哪个文件,这个是各种类别上面一层的总文件夹,所有文件存放的地方。
input_folder = 'cell_images/'
#按比例划分
splitfolders.ratio(input_folder,output="cell_images2",
seed=42,
ratio=(0.7,0.2,0.1),
group_prefix=None)
方法二指定验证集和测试集数量划分
#导包
pip install split-folders
#载入包
import splitfolders
#指定我要划分的图像在哪个文件,这个是各种类别上面一层的总文件夹,所有文件存放的地方。
input_folder = 'cell_images/'
# 指定验证集和测试集放多少张图片
splitfolders.ratio(input_folder,
output="cell_images2",
seed=42,
fixed=(35,20),
overrsample=False,
group_prefix=None)