当使用flow_from_directory时,问题是如何解释概率输出。像以前一样,如何将概率输出和类别标签映射为flow_from_directory如何创建一键向量,这在以前是未知的。
我们可以获得一个字典,该字典将类标签映射到使用时作为输出获得的预测向量的索引
generator= train_datagen.flow_from_directory("train", batch_size=batch_size)
label_map = (generator.class_indices)
label_map变量是像这样的字典
{'class_14': 5, 'class_10': 1, 'class_11': 2, 'class_12': 3, 'class_13': 4, 'class_2': 6, 'class_3': 7, 'class_1': 0, 'class_6': 10, 'class_7': 11, 'class_4': 8, 'class_5': 9, 'class_8': 12, 'class_9': 13}
然后,可以从中得出概率分数和类别名称之间的关系。
基本上,您可以通过此代码创建此字典。
from glob import glob
class_names = glob("*")
class_names = sorted(class_names)
name_id_map = dict(zip(class_names, range(len(class_names))))
上面代码中的变量name_id_map也包含与从flow_from_directory的class_indices函数获得的字典相同的字典。
希望这可以帮助!