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 Кажется, в состоянии достичь этого результата.

0 ответов

Другие вопросы по тегам