Чтобы получить прогнозы для моего valid_generator, я использую:
probabilities = model.predict_generator(generator=valid_generator, steps=validation_steps)
predicted_class_indices=np.argmax(probabilities,axis=1)
labels = (valid_generator.class_indices)
labels = dict((v,k) for k,v in labels.items())
predictions = [labels[k] for k in predicted_class_indices]
У меня есть метки для моего набора проверки, и я буду sh, чтобы нанести на график изображения, данные для valid_generator, вместе с их соответствующей меткой и их прогнозируемыми
Я пытался использовать valid_generator.filenames
Но для начала probabilities
и predicted_class_indices
имеют размер K, а valid_generator.filenames
имеет размер K + 1 и Я даже не уверен, что они выровнены (проверяя точность, они не выровнены).
Это мой valid_generator
valid_generator=valid_datagen.flow_from_dataframe(
dataframe=testdf,
directory="./train/",
x_col="id",
y_col="label",
color_mode=color_mode,
batch_size=batch_size,
seed=42,
shuffle=True,
class_mode="categorical",
target_size=(image_size,image_size)
)
validation_steps = valid_generator.n // batch_size
В настоящее время testdf
, который показан выше (дан flow_from_dataframe
в dataframe
param), получил 2 столбца, id (который является путем к изображению) и метку, которая является ассоциированным классом.
Моя цель - добавить Столбец предсказанного класса по Керасу.
Обновление: Чтобы настроить размеры, я удалил шаги:
probabilities = model.predict_generator(generator=valid_generator)