classes: 可选的类的子目录列表(例如 ['dogs', 'cats'])。默认:None。
如果未提供,类的列表将自动从 directory 下的 子目录名称/结构中推断出来,其中每个子目录都将被作为不同的类(类名将按字典序映射到标签的索引)。
包含从类名到类索引的映射的字典可以通过 class_indices 属性获得。
这个之前打农作物病虫灾害的时候蠢蠢的被坑过一回,不知道有对应的映射关系······比如文件件名字命名为1-12,调用ImageDataGenerator的flow_from_directory后映射却是
{'1': 0, '10': 1, '11': 2, '12': 3, '2': 4, '3': 5, '4': 6, '5': 7, '6': 8, '7': 9, '8': 10, '9': 11}
解决办法
fuck_dict = train_generator.class_indices preds = model.predict(img_tensor) #prob = np.max(preds) fake_class = int(np.argmax(preds)) true_class = fuck_dict[str(class_id)]