如何在python中将图像数据集拆分为测试/训练/验证集?

2024-05-23 22:16:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个简单的指纹识别程序,该程序将在80幅图像的数据集上进行训练,我使用以下代码加载数据:

data = glob.glob('/content/drive/MyDrive/DB2_B/*')

如何在训练集和测试集中分割我的图像数据集


Tags: 数据代码图像程序datadrivecontentglob
1条回答
网友
1楼 · 发布于 2024-05-23 22:16:14

我通常使用包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' , './output' , 0.8)

相关问题 更多 >