使用自定义估算器绘制验证和训练准确性

时间:2019-04-14 11:24:28

标签: python tensorflow tensorboard tensorflow-estimator

因此,我正在使用此tutorial创建自己的自定义估算器,并且在训练过程中无法获得张量板来绘制两个验证精度。 Github上的issue完美地描述了我的问题。正如上一条评论中提到的那样,通过设置0000: [sample 0, channel 0] 0001: [sample 0, channel 1] 0002: [sample 1, channel 0] 0003: [sample 1, channel 1] ... 如果模型的价值很小,则模型应该在每个步骤进行评估,但对我而言并非如此。我跑步后:

save_checkpoints_steps

我在情节中只得到两分。我尝试了不同的值,但仍然得到相同的结果。 Tensorboard plot with save_checkpoints_steps = 1

1 个答案:

答案 0 :(得分:0)

由于没有人想出答案,因此我暂时发布了这种混乱的解决方法。

loss_hook = early_stopping.stop_if_lower_hook(classifier, "loss", 0.2, 'loss_eval')
acc_hook = early_stopping.stop_if_no_increase_hook(classifier, "accuracy", 100, 'acc_eval')    
tf.logging.set_verbosity(False)
for i in range(int(steps/10)):
    print(i)
    classifier.train(
        input_fn=input_train_fn,
        steps=10,
        hooks=[loss_hook, acc_hook])
    # Evaluate the model.
    eval_result = classifier.evaluate(input_fn=input_eval_fn, steps=5)
print(eval_result)

基本上,您只需执行少量步骤即可进行培训,然后进行一次评估。