0

テンソルフローのスカラーサマリー1.3では、同じテンソルボードタブで関連するメトリックをグループ化するのに役立つ「ファミリ」を定義できるようになりました。たとえば、私は2つの要約スカラーは以下に定義されている場合:eval_metric_opsテンソルボード上の家族の下に表示

precision = precision(labels, predictions) 
recall = recall(labels, predictions) 

私はその後、実行することにより、tensorboardに単一のタブの下でこれらを表示することができ、次の

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を持つ1つのタブが必要です。 eval_metric_opsに使用されるタブ名を制御する方法はありますか?

これはMLエンジン実験機能内で実行しているので、tf.estimator.EstimatorSpecに渡すことができる一般的な解決策が優先されます。

答えて

1

缶詰エスティメータでは、組み込みメトリックのファミリを制御する方法はないと思います。しかし、tf.train.SummarySaverHookを使用して引数として追加のメトリックをtf.contrib.learn.Experimentに追加すると、これらの新しく定義されたフックのファミリを制御できます。

カスタム見積もりツールを使用すると、返されたEstimatorSpecevaluation_hooksにフックを追加する点を除いて同じことができます。これにより、メトリックファミリを通常通り指定できます。

+0

カスタム見積もりを使用していますが、ファミリをtf.summary.scalarの標準として定義する方法は分かっていますが、tf.metricsのメトリックファミリを定義する方法がわかりません。私はmetrics_collectionsとweight_collectionsがありますが、実際にテンソルボード上のタブにそれらをグループ化するためにこれを取得する運がありませんでした。 – reese0106

+0

私の理解では、eval_metric_opsは名前によってキーが付けられたメトリック結果のdictです。メトリクス自体については、「家族」は存在せず、メトリックのファミリを指定する方法もありません。メトリック・ファミリーを指定する方法を明確にしてください。 – reese0106

+0

あなたはそうです、組み込みのフックのファミリを制御することはできませんので、缶詰の見積もりツール(回答を更新)と同じ方法を実行する必要があります。 –

関連する問題