将图像数据集读入 Python 的应用程序

Read Image Dataset into Python's application

我有一个图像集(+-18k 图像,不同尺寸,所有颜色),我想将其作为数组读入 python。目标是探索图像 - 通过颜色直方图,即 - 并将它们处理为 CNN 图像分类。

我可以通过 keras datagenerator (flow_from_directory) 做到这一点,但在这种模式下我想我不能做探索部分(至少我不知道怎么做)。

此外,我抓取了这些图像,因此它们没有按照数据生成器的要求(类 和集合)精美地放置在文件夹和子文件夹中(所有教程均基于),标签位于 .csv 中文件,当我为不同的实验更改标签时,我需要通过一些丑陋的脚本来移动它们。

发生这一切是因为我没有足够的计算能力,所以我使用 Google 内存为 12GB 的 Colab,因此不足以在不崩溃的情况下读取内存中的所有图像(大约 20%数据集)。由于 Google colab 和 drive,移动工作也令人沮丧,因为它依赖于 Internet 来实现。

此时,在学习了大量教程和许多 Whosebug 问题之后,我们非常欢迎任何提示或建议。我在做 'smart' 方式吗?

非常感谢

最好的办法是使用专为数据集探索而设计的工具,而不是自己编写脚本来完成这项工作。类似于开源工具 FiftyOne, is made exactly for the purpose of visualizing large image datasets, exploring various views into your data, adding multiple label fields for different experiments, and iterating through it to pass your data on to train deep networks.

它在数据库中支持您的标签,并且只在需要时加载图像,因此内存应该不是问题。您也可以 use it within Google Colab.