我知道predict_generator输出概率。为了获得类别,我只需找到最大概率的索引,这将是最可能的类别。但是我发现这样做后,我得到的输出与调用 Predict_classes 时得到的输出不同。我不懂为什么。有人可以解释一下吗?
最佳答案
Keras 中的生成器使用 glob 列出按字母顺序排序的文件夹,您可以使用
获取训练期间使用的类# save classes to JSON
class_json = json.dumps(train_generator.class_indices)
with open("class.json", "w") as class_file:
class_file.write(class_json)
样本在批处理生成器中进行混洗(此处),以便当 fit_generator 或 evaluate_generator 请求批处理时,会给出随机样本。
如果在图像上执行此操作,另一种可能性是不在 ImageDataGenerator 中使用 rescale=1./255,如 https://github.com/fchollet/keras/issues/3477 中所述。
希望有帮助!
关于machine-learning - keras 中的 model.predict_classes 与 model.predict_generator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43751166/