このページは Cloud Translation API によって翻訳されました。
Switch to English

tf.keras.metrics.CategoricalCrossentropy

TensorFlow 1つのバージョン GitHubの上のソースを表示

ラベルと予測間crossentropyメトリックを計算します。

これは、複数のラベルクラス(2以上)があるときに使用するcrossentropyメトリッククラスです。ここでは、ラベルは次のように与えられていることを前提としていone_hot表現。例えば、ラベルの値は、[2、0、1]である場合y_true = [0、0、1]、[1、0、0]、[0、1、0]]。

name メトリックインスタンスの(オプション)文字列名。
dtype メトリック結果の(任意)データ型。
from_logits (オプション)かどうかの出力がlogitsテンソルであることが予想されます。デフォルトでは、我々は、出力は確率分布をコードしていることを考えます。
label_smoothing [0、1](オプション)フロート。とき> 0、ラベル値が緩和されたラベル値の信頼を意味し、平滑化されています。例えばlabel_smoothing=0.2 、我々はの値を使用することを意味し0.1ラベルに00.9ラベルのための1 "

スタンドアロンの使用:

# EPSILON = 1e-7, y = y_true, y` = y_pred
# y` = clip_ops.clip_by_value(output, EPSILON, 1. - EPSILON)
# y` = [[0.05, 0.95, EPSILON], [0.1, 0.8, 0.1]]
# xent = -sum(y * log(y'), axis = -1)
#      = -((log 0.95), (log 0.1))
#      = [0.051, 2.302]
# Reduced xent = (0.051 + 2.302) / 2
m = tf.keras.metrics.CategoricalCrossentropy()
m.update_state([[0, 1, 0], [0, 0, 1]],
               [[0.05, 0.95, 0], [0.1, 0.8, 0.1]])
m.result().numpy()
1.1769392
m.reset_states()
m.update_state([[0, 1, 0], [0, 0, 1]],
               [[0.05, 0.95, 0], [0.1, 0.8, 0.1]],
               sample_weight=tf.constant([0.3, 0.7]))
m.result().numpy()
1.6271976

使用方法compile() API:

 model.compile(
  optimizer='sgd',
  loss='mse',
  metrics=[tf.keras.metrics.CategoricalCrossentropy()])
 

メソッド

reset_states

ソースを表示

メトリックの状態変数のすべてをリセットします。

メトリックは、トレーニング中に評価されている場合、この関数は、エポック/ステップの間と呼ばれています。

result

ソースを表示

計算して返しメトリック値テンソル。

結果の計算は単純に状態変数を使用してメトリック値を算出する冪等操作です。

update_state

ソースを表示

メトリックの統計情報を蓄積します。

y_truey_pred同じ形状を有している必要があります。

引数
y_true 地上真理値。形状= [batch_size, d0, .. dN]
y_pred 予測値。形状= [batch_size, d0, .. dN]
sample_weight オプションsample_weightメトリックの係数として機能します。スカラーが設けられている場合、メトリックは単に指定された値によってスケーリングされます。場合sample_weightサイズのテンソルである[batch_size]その後、バッチの各サンプルのメトリックは、に対応する要素によって再スケーリングされるsample_weightベクター。形状場合sample_weightある[batch_size, d0, .. dN-1]又はこのような形状にブロードキャストすることができる)、その後の各メトリック要素y_predの対応する値によってスケーリングされるsample_weight 。 (上の注意dN-1すべてのメトリック関数は1次元、通常は最後の軸(-1)によって減らします)。

戻り値
更新オペアンプ。