tensorflow – TFLearn – 评估模型

我正在使用
TFLearn Alexnet样本和我自己的数据集.

接下来,我想对测试数据进行分类并确定模型的准确性.

> TFLearn API提供方法model.predict()和model.evaluate().
> model.predict()给出测试数据集中每个图像的预测结果.如何使用结果来获得准确性?
> model.evaluate()给出测试数据的准确度分数.有没有办法获得每批的准确性?

最佳答案

# Evaluate model
score = model.evaluate(test_x, test_y)
print('Test accuarcy: %0.4f%%' % (score[0] * 100))

# Run the model on one example
prediction = model.predict([test_x[0]])
print("Prediction: %s" % str(prediction[0][:3]))  # only show first 3 probas

如何使用结果来获得准确性?

>获取每个预测的argmax以获得预测的类别
>如果您有一个热门的编码标签,也可以采用标签的argmax来获取索引
>准确度=总和(预测标签==目标标签)/ len(预测标签)

有没有办法获得每批的准确性?

batch_index = 42
batch_size = 128
batch_x = test_x[batch_index * batch_size : (batch_index + 1) * batch_size]
batch_y = test_y[batch_index * batch_size : (batch_index + 1) * batch_size]
score = model.evaluate(batch_x, batch_y)
print('Batch accuarcy: %0.4f%%' % (score[0] * 100))
点赞