如何在使用预测估算器进行培训期间计算模型指标?

时间:2017-08-21 20:35:32

标签: tensorflow

使用Keras,人们通常会免费获取指标(例如准确性)作为进度条的一部分。使用此处的示例:

https://github.com/fchollet/keras/blob/master/examples/mnist_mlp.py

跑完后......

history = model.fit(x_train, y_train,
                    batch_size=batch_size,
                    epochs=epochs,
                    verbose=1,
                    validation_data=(x_test, y_test))

Keras将开始拟合模型,并将显示进度输出,如:

 3584/60000 [>.............................] - ETA: 10s - loss: 0.0308 - acc: 0.9905

假设我想使用TensorFlow预测估算器完成同样的事情 - 提取分类器的当前精度,并将其显示为进度条的一部分(由例如SessionRunHook完成)。

似乎没有将精确度指标作为图表上默认操作集的一部分提供。有没有办法我可以用会话运行钩子自己手动添加它?

(看起来可以将操作作为begin()钩子的一部分添加到图形中,但我不知道如何能够例如请求计算模型精度。)

1 个答案:

答案 0 :(得分:0)

准确性是预制分类器中的默认指标之一。但它将由Estimator估计,而不是由Estimator.train调用。您可以创建一个for循环来执行您想要的操作:   为......     estimator.train(training_data)     metrics = estimator.evaluate(evaluation_data)