1 python dataset keras tensorflow tf.keras
我正在研究 python 中的神经网络和图像识别并遵循本指南。他们使用:from keras.datasets import cifar10获取用于测试的图像。所以我的问题是:
提前致谢!
加载数据集进行训练或测试的最简单方法是使用 Keras ImageDataGenerator类(它还允许您使用一些数据增强方法)。您有 3 个选择:
如果您的数据集的结构如下:
data/
train/
dogs/
dog001.jpg
dog002.jpg
...
cats/
cat001.jpg
cat002.jpg
...
validation/
dogs/
dog001.jpg
dog002.jpg
...
cats/
cat001.jpg
cat002.jpg
...
Run Code Online (Sandbox Code Playgroud)
那么你应该使用.flow_from_directory(directory). 这里提供了一个非常好的例子。
如果您的整个数据集可以加载到单个数组中(这意味着您的数据集非常小,否则您的 RAM 将爆炸),那么您应该使用该.flow()函数。例子在这里。
您还可以使用 apandas DataFrame来存储每个样本的信息(例如路径、标签...),这样正确的函数将是.flow_from_dataframe(df). 请参阅此处了解详细示例。
最后,如果这些功能都不能应用(例如,如果您有一个巨大的数据集,这可能是这种情况 - 意味着您必须使用图像路径 - 和相当非正统的标签 - 阻止您使用.flow_from_directory()或.flow_from_dataframe()方法 - 或者简单地如果如果您只想应用一些更强大的数据增强),那么您应该创建一个自定义数据生成器。您可以在此处和此处查看如何创建此类示例,还有一个使用Imgaug进行数据增强的示例。
网上有大量文档和示例,因此您应该可以轻松找到最适合您的内容。