微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我正在尝试编写一个简单的指纹识别程序,该程序将在 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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。