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

tf.keras.losses.Loss

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

損失ベースクラス。

サブクラスによって実装されます。

  • call() :使用して損失計算のためのロジックが含まれていますy_truey_pred

例サブクラス実装:

 class MeanSquaredError(Loss):

  def call(self, y_true, y_pred):
    y_pred = tf.convert_to_tensor_v2(y_pred)
    y_true = tf.cast(y_true, y_pred.dtype)
    return tf.reduce_mean(math_ops.square(y_pred - y_true), axis=-1)
 

で使用する場合tf.distribute.Strategy 、内蔵された訓練の外のようなループtf.keras compilefit 、してください使用「SUM」または「NONE」リダクションタイプ、およびトレーニングループに明示的損失を減少させます。 「AUTO」または「SUM_OVER_BATCH_SIZE」を使用すると、エラーが発生します。

このカスタムトレーニングご覧くださいチュートリアルをこのの詳細については。

あなたは次のようにグローバルなバッチサイズを使用して「SUM_OVER_BATCH_SIZE」を実装できます。

 with strategy.scope():
  loss_obj = tf.keras.losses.CategoricalCrossentropy(
      reduction=tf.keras.losses.Reduction.NONE)
  ....
  loss = (tf.reduce_sum(loss_obj(labels, predictions)) *
          (1. / global_batch_size))
 

reduction (オプション)タイプtf.keras.losses.Reduction損失に適用します。デフォルト値はAUTOAUTO 、還元オプションは、利用状況によって決定されることを示しています。ほぼすべてのケースについては、このデフォルトSUM_OVER_BATCH_SIZE 。で使用する場合tf.distribute.Strategy 、このようなループ内蔵のトレーニングの外tf.keras compilefit使用して、 AUTOまたはSUM_OVER_BATCH_SIZEエラーが発生します。このカスタムトレーニングご覧くださいチュートリアルを詳細については。
name オペアンプのためのオプションの名前。

メソッド

call

ソースを表示

呼び出しLossインスタンスを。

引数
y_true 地上真理値。形状= [batch_size, d0, .. dN] 、そのような疎なカテゴリcrossentropyとしてスパース損失関数以外ここ形状= [batch_size, d0, .. dN-1]
y_pred 予測値。形状= [batch_size, d0, .. dN]

戻り値
形状の損失値[batch_size, d0, .. dN-1]

from_config

ソースを表示

インスタンス化しLossその設定から(の出力get_config()

引数
config 出力get_config()

戻り値
Lossインスタンス。

get_config

ソースを表示

以下のための設定辞書を返しLossインスタンスが。

__call__

ソースを表示

呼び出しLossインスタンスを。

引数
y_true 地上真理値。形状= [batch_size, d0, .. dN] 、そのような疎なカテゴリcrossentropyとしてスパース損失関数以外ここ形状= [batch_size, d0, .. dN-1]
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)。

戻り値
加重損失フロートTensor 。場合reductionしないNONE 、これは形状有する[batch_size, d0, .. dN-1]それ以外の場合は、スカラーです。 (注dN-1全損失関数は1次元によって減らすため、通常=軸線-1)。

発生させます
ValueError 形状た場合sample_weight無効です。