Коли використовується протокол 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 у наведеному вище коді також містить той самий словник, що і той, що отриманий із функції class_indices потоку_від_каталогу.
Сподіваюся, це допомагає!