问题描述
我正在尝试编写一个简单的指纹识别程序,该程序将在 80 张图像的数据集上进行训练,我使用以下代码加载数据:
data = glob.glob('/content/drive/MyDrive/DB2_B/*')
如何在训练集和测试集中拆分我的图像数据集!
解决方法
我通常使用包 split-folders。你可以试一试。下面的代码将 80% 的数据拆分为训练集,将 20% 的数据拆分为测试集。这就是 split_data 函数中的 x 所代表的。您不必创建输出目录,因为它会为您创建文件夹。安装包后使用:
pip install split-folders
试试这个:
import os
import splitfolders
def split_data(input_dir,output_dir,x):
splitfolders.ratio(input_dir,output = output_dir,seed = 1337,ratio = (x,1-x),group_prefix = None)
split_data('./input','./output',0.8)
我注意到你的数据在一个单独的文件夹中,如果它只是在你的 python 文件的父文件夹中会更容易。如果这是不可能的,您可以在上面的代码中编辑输入目录。这将创建一个输出文件夹,其中包含 python 文件的当前目录。你可以在定义函数后试试这个:
split_data('/content/drive/MyDrive/DB2_B',0.8)