我flow_from_directory
用来从具有以下结构的文件夹中获取训练集:
train
class1
class2
class3
...
生成器的调用如下:
train_generator = train_datagen.flow_from_directory(
train_data_dir,
target_size=(img_height, img_width),
batch_size=32,
class_mode='categorical')
我没有设置参数classes
,但是我希望按字母顺序获取标签。
classes:类子目录的可选列表(例如
['dogs', 'cats']
)。默认值:无。如果未提供,则将自动推断类别列表(映射到标签索引的类别顺序将为字母数字)。
但是,当我对训练图像进行分类(用于检查返回的标签)时,我没有得到任何特定的排序。训练进行得很好(准确度约为85%),并且在对来自同一类别的图像进行分类时,输出标签具有一致性。
如何推断由生成的标签编号flow_from_directory
并将其映射到类?
您可以查看哪个类对应于哪个整数,并查看变量 ImageDataGenerator.class_indices
这是一个如何使用它的例子
def build(source=None):
datagen = ImageDataGenerator(rescale=1. / 255)
data_generator = datagen.flow_from_directory(
source, # this is the target directory
target_size=(150, 150), # all images will be resized to 150x150
batch_size=11,
class_mode='sparse')
class_dictionary = data_generator.class_indices
return data_generator, class_dictionary
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句