如何使用分层抽样将图像文件夹拆分为测试/训练/验证集?

新手上路,请多包涵

我有一个非常大的图像文件夹,以及一个包含每个图像类标签的 CSV 文件。因为它们都在一个巨大的文件夹中,所以我想将它们分成训练/测试/验证集;也许创建三个新文件夹并根据某种 Python 脚本将图像移动到每个文件夹中。我想进行分层抽样,这样我就可以在所有三组中保持相同的类别百分比。

制作可以执行此操作的脚本的方法是什么?

原文由 Yuerno 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 608
1 个回答

使用 python 库拆分文件夹。

 pip install split-folders

让所有图像存储在 Data 文件夹中。然后申请如下:

 import splitfolders
splitfolders.ratio('Data', output="output", seed=1337, ratio=(.8, 0.1,0.1))

在运行上面的代码片段时,它将在 output 目录中创建 3 个文件夹:

  • 火车
  • 测试

可以使用 ratio 参数 (train:val:test) 中的值来改变每个文件夹中的图像数量。

原文由 AVISHEK GARAIN 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题