BinaryCrossentropy

パブリック クラスBinaryCrossentropy

真のラベルと予測されたラベル間のクロスエントロピー損失を計算します。

このクロスエントロピー損失は、ラベル クラスが 2 つだけ (0 と 1 であると想定) の場合に使用します。各例では、予測ごとに 1 つの浮動小数点値が存在する必要があります。

スタンドアロンでの使用:

    Operand<TFloat32> labels =
        tf.constant(new float[][] { {0.f, 1.f}, {0.f, 0.f} });
    Operand<TFloat32> predictions =
        tf.constant(new float[][] { {0.6f, 0.4f}, {0.4f, 0.6f} });
    BinaryCrossentropy bce = new BinaryCrossentropy(tf);
    Operand<TFloat32> result = bce.call(labels, predictions);
    // produces 0.815
 

サンプル重量を使用して呼び出します:

    Operand<TFloat32> sampleWeight = tf.constant(new float[] {1.f, 0.f});
    Operand<TFloat32> result = bce.call(labels, predictions, sampleWeight);
    // produces 0.458f
 

SUMリダクション タイプを使用する場合:

    BinaryCrossentropy bce = new BinaryCrossentropy(tf, Reduction.SUM);
    Operand<TFloat32> result = bce.call(labels, predictions);
    // produces 1.630f
 

NONE削減タイプを使用する場合:

    BinaryCrossentropy bce = new BinaryCrossentropy(tf, Reduction.NONE);
    Operand<TFloat32> result = bce.call(labels, predictions);
    // produces [0.916f, 0.714f]
 

定数

ブール値FROM_LOGITS_DEFAULT
フロートLABEL_SMOOTHING_DEFAULT

継承されたフィールド

パブリックコンストラクター

バイナリクロセントロピー(Ops tf)
getSimpleName()損失名として使用し、fromLogits の場合はFROM_LOGITS_DEFAULT 、labelSmoothing の場合はLABEL_SMOOTHING_DEFAULT 、およびREDUCTION_DEFAULTの損失削減を使用して、バイナリ クロスエントロピー損失を作成します。
バイナリクロセントロピー(Ops tf、 Reductionリダクション)
getSimpleName()損失名として、 FROM_LOGITS_DEFAULT fromLogits に、 LABEL_SMOOTHING_DEFAULTを labelSmoothing として使用して、バイナリ クロスエントロピー損失を作成します。
BinaryCrossentropy (Ops tf、論理値 fromLogits)
getSimpleName()損失名として使用し、 LABEL_SMOOTHING_DEFAULTの labelSmoothing 、 REDUCTION_DEFAULTの削減を使用して、バイナリ クロスエントロピー損失を作成します。
BinaryCrossentropy (Ops tf、文字列名、ブール値 fromLogits)
LABEL_SMOOTHING_DEFAULTの labelSmoothing を使用してバイナリ クロスエントロピー損失を作成しREDUCTION_DEFAULTを削減します。
BinaryCrossentropy (Ops tf、boolean fromLogits、float labelSmoothing)
getSimpleName()損失名として使用し、 REDUCTION_DEFAULTを削減して、バイナリ Crossentropy 損失を作成します。
BinaryCrossentropy (Ops tf、文字列名、ブール値 fromLogits、float labelSmoothing)
REDUCTION_DEFAULTの削減を使用してバイナリ クロスエントロピー損失を作成します。
BinaryCrossentropy (Ops tf、boolean fromLogits、float labelSmoothing、 Reduction削減)
バイナリ クロスエントロピー損失を作成します
BinaryCrossentropy (Ops tf、文字列名、ブール値 fromLogits、float labelSmoothing、 Reduction削減)
バイナリ クロスエントロピー損失を作成します

パブリックメソッド

<T extends TNumber >オペランド<T>
call (オペランド<? extends TNumber > ラベル、オペランド<T> 予測、オペランド<T> サンプルウェイト)
損失を計算するオペランドを生成します。

継承されたメソッド

定数

パブリック静的最終ブール値FROM_LOGITS_DEFAULT

定数値: false

パブリック静的最終フロートLABEL_SMOOTHING_DEFAULT

定数値: 0.0

パブリックコンストラクター

public BinaryCrossentropy (Ops tf)

getSimpleName()損失名として使用し、fromLogits の場合はFROM_LOGITS_DEFAULT 、labelSmoothing の場合はLABEL_SMOOTHING_DEFAULT 、およびREDUCTION_DEFAULTの損失削減を使用して、バイナリ クロスエントロピー損失を作成します。

パラメータ
TF TensorFlow オペレーション

public BinaryCrossentropy (Ops tf、 Reductionリダクション)

getSimpleName()損失名として、 FROM_LOGITS_DEFAULT fromLogits に、 LABEL_SMOOTHING_DEFAULTを labelSmoothing として使用して、バイナリ クロスエントロピー損失を作成します。

パラメータ
TF TensorFlow オペレーション
削減損失に適用する減額のタイプ。

public BinaryCrossentropy (Ops tf、ブール値 fromLogits)

getSimpleName()損失名として使用し、 LABEL_SMOOTHING_DEFAULTの labelSmoothing 、 REDUCTION_DEFAULTの削減を使用して、バイナリ クロスエントロピー損失を作成します。

パラメータ
TF TensorFlow オペレーション
fromロジッツ予測をロジット値のテンソルとして解釈するかどうか

public BinaryCrossentropy (Ops tf、文字列名、ブール値 fromLogits)

LABEL_SMOOTHING_DEFAULTの labelSmoothing を使用してバイナリ クロスエントロピー損失を作成しREDUCTION_DEFAULTを削減します。

パラメータ
TF TensorFlow オペレーション
名前喪失の名前
fromロジッツ予測をロジット値のテンソルとして解釈するかどうか

public BinaryCrossentropy (Ops tf、boolean fromLogits、float labelSmoothing)

getSimpleName()損失名として使用し、 REDUCTION_DEFAULTを削減して、バイナリ Crossentropy 損失を作成します。

パラメータ
TF TensorFlow オペレーション
fromロジッツ予測をロジット値のテンソルとして解釈するかどうか
ラベルスムージング[0, 1] の範囲の数値。 0 の場合、平滑化は行われません。 > 0 の場合、予測ラベルと真のラベルの平滑化バージョンとの間の損失を計算します。平滑化によりラベルが 0.5 に向かって圧縮されます。 labelSmoothing の値が大きいほど、より強力なスムージングに対応します。

public BinaryCrossentropy (Ops tf、文字列名、ブール値 fromLogits、float labelSmoothing)

REDUCTION_DEFAULTの削減を使用してバイナリ クロスエントロピー損失を作成します。

パラメータ
TF TensorFlow オペレーション
名前喪失の名前
fromロジッツ予測をロジット値のテンソルとして解釈するかどうか
ラベルスムージング[0, 1] の範囲の数値。 0 の場合、平滑化は行われません。 > 0 の場合、予測ラベルと真のラベルの平滑化バージョンとの間の損失を計算します。平滑化によりラベルが 0.5 に向かって圧縮されます。 labelSmoothing の値が大きいほど、より強力なスムージングに対応します。

public BinaryCrossentropy (Ops tf、boolean fromLogits、float labelSmoothing、 Reduction削減)

バイナリ クロスエントロピー損失を作成します

パラメータ
TF TensorFlow オペレーション
fromロジッツ予測をロジット値のテンソルとして解釈するかどうか
ラベルスムージング[0, 1] の範囲の数値。 0 の場合、平滑化は行われません。 > 0 の場合、予測ラベルと真のラベルの平滑化バージョンとの間の損失を計算します。平滑化によりラベルが 0.5 に向かって圧縮されます。 labelSmoothing の値が大きいほど、より強力なスムージングに対応します。
削減損失に適用する減額のタイプ。

public BinaryCrossentropy (Ops tf、文字列名、ブール fromLogits、float labelSmoothing、 Reduction削減)

バイナリ クロスエントロピー損失を作成します

パラメータ
TF TensorFlow オペレーション
名前喪失の名前
fromロジッツ予測をロジット値のテンソルとして解釈するかどうか
ラベルスムージング[0, 1] の範囲の数値。 0 の場合、平滑化は行われません。 > 0 の場合、予測ラベルと真のラベルの平滑化バージョンとの間の損失を計算します。平滑化によりラベルが 0.5 に向かって圧縮されます。 labelSmoothing の値が大きいほど、より強力なスムージングに対応します。
削減損失に適用する減額のタイプ。
投げる
IllegalArgumentException labelSmoothing が 0. - 1 の範囲内にない場合。

パブリックメソッド

publicオペランド<T>呼び出し(オペランド<? extends TNumber > ラベル、オペランド<T> 予測、オペランド<T> サンプルウェイト)

損失を計算するオペランドを生成します。

グラフ モードで実行すると、予測値が範囲外にある場合、計算はTFInvalidArgumentExceptionをスローします。 1.]へ。 Eager モードでは、予測値が範囲外にある場合、この呼び出しはIllegalArgumentExceptionをスローします。 1に。]

パラメータ
ラベル真理値またはラベル
予測予測の場合、値は [0. 1.まで]を含みます。
サンプルの重みオプションの SampleWeights は損失の係数として機能します。スカラーが指定されている場合、損失は指定された値によって単純にスケーリングされます。 SampleWeights がサイズ [batch_size] のテンソルの場合、バッチの各サンプルの合計損失は、SampleWeights ベクトルの対応する要素によって再スケーリングされます。 SampleWeights の形状が [batch_size, d0, .. dN-1] の場合 (またはこの形状にブロードキャストできる場合)、予測の各損失要素は、SampleWeights の対応する値によってスケーリングされます。 (dN-1 に関する注意: すべての損失関数は 1 次元ずつ減少します。通常は axis=-1 です。)
返品
  • 損失
投げる
IllegalArgumentException予測が範囲 [0.-1.] の外にある場合。