首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >eval_metric_ops显示在张板上的族下

eval_metric_ops显示在张板上的族下
EN

Stack Overflow用户
提问于 2017-08-19 06:51:58
回答 2查看 828关注 0票数 1

有了tensorflow 1.3中的标量摘要,我现在可以定义一个‘族’,它将有助于在相同的tensorboard选项卡下对相关指标进行分组。例如,如果我有两个定义如下的汇总标量:

代码语言:javascript
复制
precision = precision(labels, predictions)
recall = recall(labels, predictions)

然后,我可以通过执行以下操作在tensorboard中的单个选项卡下显示这些内容:

代码语言:javascript
复制
tf.summary.scalar('precision', precision, family = 'precision/recall')
tf.summary.scalar('recall', recall, family = 'precision/recall')

我想使用eval_metric_ops作为评估摘要来重复此行为,但我找不到任何方法来做到这一点。例如,我想要一个在同一标量选项卡下具有tf.metrics.precision和tf.metrics.recall的选项卡。有没有办法控制用于eval_metric_ops的选项卡名?

我在ML引擎实验函数中运行此函数,因此可以传递给tf.estimator.EstimatorSpec的通用解决方案将是首选。

EN

回答 2

Stack Overflow用户

发布于 2019-02-21 06:30:54

如果您正在编写自定义估计器,您可以使用斜杠分隔的前缀来度量关键字,以控制它们在Tensorboard中显示在哪个系列下。

具体地说,如果您使用密钥my_family/accuracy发出一个指标,如下所示:

代码语言:javascript
复制
def model_fn(features, labels, mode):

  if mode == tf.estimator.ModeKeys.EVAL:

    accuracy = ...
    loss = ...

    return tf.estimator.EstimatorSpec(
        tf.estimator.ModeKeys.EVAL,
        loss=loss,
        eval_metric_ops={'my_family/accuracy': tf.metrics.mean(accuracy)},
    )

  else:
    ...

accuracy指标将作为my_family系列的一部分出现在tensorboard中。

票数 2
EN

Stack Overflow用户

发布于 2017-08-26 02:16:02

使用盒装的估计器,我认为没有任何方法来控制内置指标的家族。但是您可以添加一个钩子,该钩子使用tf.train.SummarySaverHook将额外的指标作为eval_hook参数添加到tf.contrib.learn.Experiment中,您将能够控制这些新定义的钩子的系列。

对于自定义估计器,您将执行相同的操作,只是将它们的钩子添加到返回的EstimatorSpec中的evaluation_hooks中,这样您就可以照常指定度量族。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45765996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档