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

tf.keras.metrics.SparseCategoricalCrossentropy

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

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

二つ以上のラベルクラスがある場合、このcrossentropyメトリックを使用してください。私たちは、ラベルが整数として提供されることを期待しています。あなたが使用してラベルを提供したい場合はone-hot表現を使用してくださいCategoricalCrossentropyメトリックを。あるはず# classesのための機能ごとに浮動小数点値をy_predとのための機能ごとに単一の浮動小数点値y_true

以下のスニペットでは、たとえばごとに単一の浮動小数点値であるy_true及び# classesのための例のポインティング値フローティングy_pred 。形状y_trueある[batch_size]との形状y_predある[batch_size, num_classes]

name メトリックインスタンスの(オプション)文字列名。
dtype メトリック結果の(任意)データ型。
from_logits (オプション)かどうかの出力がlogitsテンソルであることが予想されます。デフォルトでは、我々は、出力は確率分布をコードしていることを考えます。
axis (オプション)デフォルト値に-1。メトリックが計算され、それに沿って寸法。

スタンドアロンの使用:

# y_true = one_hot(y_true) = [[0, 1, 0], [0, 0, 1]]
# logits = log(y_pred)
# softmax = exp(logits) / sum(exp(logits), axis=-1)
# softmax = [[0.05, 0.95, EPSILON], [0.1, 0.8, 0.1]]
# xent = -sum(y * log(softmax), 1)
# log(softmax) = [[-2.9957, -0.0513, -16.1181],
#                [-2.3026, -0.2231, -2.3026]]
# y_true * log(softmax) = [[0, -0.0513, 0], [0, 0, -2.3026]]
# xent = [0.0513, 2.3026]
# Reduced xent = (0.0513 + 2.3026) / 2
m = tf.keras.metrics.SparseCategoricalCrossentropy()
m.update_state([1, 2],
               [[0.05, 0.95, 0], [0.1, 0.8, 0.1]])
m.result().numpy()
1.1769392
m.reset_states()
m.update_state([1, 2],
               [[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.SparseCategoricalCrossentropy()])
 

メソッド

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)によって減らします)。

戻り値
更新オペアンプ。