要获取我的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]
我有用于验证集的标签,我希望绘制提供给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
)有2列,即id(是图像的路径)和label。关联的类。
我的目标是为Keras添加一列预测的班级。
更新: 要调整大小,我删除了以下步骤:
probabilities = model.predict_generator(generator=valid_generator)