tenorflow - tf.estimator.Estimator записывает значение тензора на тензорную панель каждый шаг в режиме EVAL
Я хочу записать значение тензора после каждого шага оценки в тензорную доску. Я звоню estimator.evaluate(..., steps=3000)
один раз после окончания тренировки с подсчетом шагов, охватывающим весь набор тестов.
Я старался:
tf.summary.scalar("mean", mean)
tf.summary.scalar("standard_deviation", standard_deviation)
summary_hook = tf.train.SummarySaverHook(
save_steps=1,
output_dir=self.output_dir + "/eval",
summary_op=tf.summary.merge_all()
)
return tf.estimator.EstimatorSpec(mode=mode, loss=loss, evaluation_hooks=[summary_hook])
&
mean, mean_op = tf.metrics.mean(mean)
standard_deviation, standard_deviation_op = tf.metrics.mean(standard_deviation)
metrics = {
'mean': (mean, mean_op),
'standard_deviation': (standard_deviation, standard_deviation_op),
}
return tf.estimator.EstimatorSpec(mode=mode, loss=loss, eval_metric_ops=metrics)
оба способа написать резюме, заявленные в моем model_fn
один раз в evaluate()
призыв к финальному глобальному обучающему шагу.
Тем не менее, я хочу, чтобы пункты были написаны для каждого шага. Возможно ли это в API оценки? ни eval_metric_ops
ни tf.train.SummarySaverHook
Кажется, в состоянии достичь этого результата.