gpt4 book ai didi

Keras:model.evaluate_generator 和 model.predict_generator 有什么区别

转载 作者:行者123 更新时间:2023-12-02 23:14:05 28 4
gpt4 key购买 nike

我使用keras数据增强来执行图像分类(十类图像)。最后一个训练周期的结果如下:

Epoch 50/50
4544/4545 [============================>.] - ETA: 0s - loss: 0.7628 - acc: 0.7359 loss: 0.762710434054
New learning rate: 0.00214407973866
4545/4545 [==============================] - 115s - loss: 0.7627 - acc: 0.7360 - val_loss: 0.5563 - val_acc: 0.8124

然后通过以下方式评估训练后的模型:

scores = model.evaluate_generator(test_generator,1514) #1514 testing images
print("Accuracy = ", scores[1])

它会导致以下结果:

('Accuracy = ', 0.80713342132152621)

准确率与上一个训练周期中获得的准确率并不完全相同。我不明白其中的区别,尽管它是微乎其微的。

此外,model.predict_generator 给出了完全不同的结果,它是一个数组,如下所示:

array([[  4.98306963e-06,   1.83774697e-04,   5.49453034e-05, ...,
9.25193787e-01, 7.74697517e-04, 5.79946618e-06],
[ 2.06657965e-02, 2.35974863e-01, 2.66802781e-05, ...,
2.16283044e-03, 8.42395966e-05, 2.46680051e-04],
[ 1.40222355e-05, 1.22740224e-03, 7.52218883e-04, ...,
3.76749843e-01, 3.85622412e-01, 6.47417846e-06],
...,
[ 9.94064331e-01, 1.30184961e-03, 1.08694976e-05, ...,
1.25828717e-06, 2.29093766e-05, 9.01326363e-04],
[ 7.10375488e-01, 2.01397449e-01, 3.10241080e-06, ...,
3.66877168e-10, 1.66322934e-05, 1.93767438e-08],
[ 8.13350256e-04, 2.67575349e-04, 6.79878794e-05, ...,
8.63052785e-01, 9.70983761e-04, 8.54507030e-04]], dtype=float32)

我不知道矩阵代表什么,以及model.evaluate_generator和model.predict_generator之间有什么区别。

请注意,所得数组的形状为 1514*10。该数组应该是测试图像集每个类别的预测概率。如果是这样,如何根据结果计算混淆矩阵?

最佳答案

predict_generator 获取您的测试数据并为您提供输出。

evaluate_generator 使用您的测试输入和输出。它首先使用训练输入预测输出,然后通过将其与测试输出进行比较来评估性能。因此它给出了性能衡量标准,即您案例中的准确性。

关于Keras:model.evaluate_generator 和 model.predict_generator 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40564936/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com