1

TensorFlow 1.4 と Estimator フレームワークを使用しています。

tf.contrib.estimator.multi_headN の結果を要約する 1 つの頭部 (別の頭部を持つモデル) を作成するために使用したいと思いますsoftmax_cross_entropy_with_logits。N 個の確率分布は、それぞれ同じクラス セットに対して定義されますが、独立した分布です。私が計算したい要約損失スコアは、単純にソフトマックス クロス エントロピー損失の二乗和です。

N 個のゼロのベクトルを偽造すれば、ほぼ atf.contrib.estimator.regression_headを使用して要約を計算できます。labelsベクトルがゼロの平均二乗誤差は、ソフトマックス損失の二乗を合計するのと同じだからです。しかし、これは不親切なようで、より直接的なアプローチが必要です。

_Headで実装された独自のサブクラスを作成する必要があり、フレームワーク開発者が使用するように文書化されてtensorflow.python.estimator.canned.headいるメソッドを実装する必要があるようです。create_loss

この道を歩み始める前に、検討すべき別のアプローチがあるかどうかを聞きたいと思います.

私はもともと Keras で開発を開始し、関数型 API を使用したマルチヘッド モデルを持っていました。おそらく、Keras の使用に戻りmodel_fntf.keras.estimator.model_to_estimator. すべてが同じであれば、私は純粋な Tensorflow イディオムでコーディングすることを好みますが、おそらく Keras が前進する最も簡単な方法です。

4

0 に答える 0