Я хочу записать значение тензора после каждого оценки шага в тензорную доску.Я звоню 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
не могут достичь этого результата.