CategoricalCrossentropy

パブリック クラスCategoricalCrossentropy

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

ラベル クラスが 2 つ以上ある場合は、このクロスエントロピー損失関数を使用します。ラベルは one_hot 表現で提供されることが期待されます。ラベルを整数として提供したい場合は、 SparseCategoricalCrossentropy loss を使用してください。機能ごとに# classes浮動小数点値が存在する必要があります。

スタンドアロン使用:

    Operand<TFloat32> labels =
        tf.constant(new float[][] { {0, 1, 0}, {0, 0, 1} });
    Operand<TFloat32> predictions =
        tf.constant(new float[][] { {0.05f, 0.95f, 0f}, {0.1f, 0.8f, 0.1f} });
    CategoricalCrossentropy cce = new CategoricalCrossentropy(tf);
    Operand<TFloat32> result = cce.call(labels, predictions);
    // produces 1.177
 

サンプルの重みを指定して呼び出します:

    Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f});
    Operand<TFloat32> result = cce.call(labels, predictions, sampleWeight);
    // produces 0.814f
 

SUMリダクションタイプの使用:

    CategoricalCrossentropy cce = new CategoricalCrossentropy(tf, Reduction.SUM);
    Operand<TFloat32> result = cce.call(labels, predictions);
    // produces 2.354f
 

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

    CategoricalCrossentropy cce =
        new CategoricalCrossentropy(tf, Reduction.NONE);
    Operand<TFloat32> result = cce.call(labels, predictions);
    // produces [0.0513f, 2.303f]
 

定数

整数DEFAULT_AXIS
ブール値FROM_LOGITS_DEFAULT
浮くLABEL_SMOOTHING_DEFAULT

継承されたフィールド

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

カテゴリクロセントロピー(Ops tf)
getSimpleName()を損失名として使用し、 fromLogits の場合はFROM_LOGITS_DEFAULT 、 labelSmoothing の場合はLABEL_SMOOTHING_DEFAULTREDUCTION_DEFAULTの損失削減、およびDEFAULT_AXISの軸を使用して、カテゴリカルクロスエントロピー損失を作成します。
CategoricalCrossentropy (Ops tf、文字列名)
fromLogits のFROM_LOGITS_DEFAULT 、labelSmoothing のLABEL_SMOOTHING_DEFAULTREDUCTION_DEFAULTの損失削減、およびDEFAULT_AXISの軸を使用して、カテゴリカルクロスエントロピー損失を作成します。
カテゴリクロセントロピー(Ops tf、リダクションリダクション)
getSimpleName()を損失名として、 FROM_LOGITS_DEFAULT (fromLogits の場合)、 LABEL_SMOOTHING_DEFAULT (labelSmoothing の場合)、およびDEFAULT_AXISの軸を使用して、カテゴリカルクロスエントロピー損失を作成します。
CategoricalCrossentropy (Ops tf、文字列名、リダクションリダクション)
fromLogits のカテゴリクロス エントロピー損失FROM_LOGITS_DEFAULT 、labelSmoothing のLABEL_SMOOTHING_DEFAULT 、およびDEFAULT_AXISの軸を作成します。
CategoricalCrossentropy (Ops tf、ブール値 fromLogits)
損失名としてgetSimpleName()を使用し、labelSmoothing にLABEL_SMOOTHING_DEFAULT使用し、 REDUCTION_DEFAULTの損失削減、およびDEFAULT_AXISの軸を使用して、カテゴリカルクロスエントロピー損失を作成します。
CategoricalCrossentropy (Ops tf、文字列名、ブール値 fromLogits)
labelSmoothing のLABEL_SMOOTHING_DEFAULTREDUCTION_DEFAULTの損失削減、およびDEFAULT_AXISのチャネル軸を使用して、カテゴリカルクロスエントロピー損失を作成します。
CategoricalCrossentropy (Ops tf、boolean fromLogits、float labelSmoothing)
損失名としてgetSimpleName()を使用し、 REDUCTION_DEFAULTの損失削減、およびDEFAULT_AXISのチャネル軸を使用して、カテゴリカルなクロス エントロピー損失を作成します。
CategoricalCrossentropy (Ops tf、文字列名、ブール値 fromLogits、float labelSmoothing)
REDUCTION_DEFAULTの損失削減とDEFAULT_AXISのチャネル軸を使用して、カテゴリカルなクロス エントロピー損失を作成します。
CategoricalCrossentropy (Ops tf、boolean fromLogits、float labelSmoothing、 Reduction削減)
getSimpleName()を損失名として使用し、チャネル軸としてDEFAULT_AXISを使用して、カテゴリカルなクロス エントロピー損失を作成します。
CategoricalCrossentropy (Ops tf、文字列名、ブール値 fromLogits、float labelSmoothing、 Reduction削減、int 軸)
カテゴリカルなクロスエントロピー損失を作成します

パブリックメソッド

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

継承されたメソッド

定数

パブリック静的最終整数DEFAULT_AXIS

定数値: -1

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

定数値: false

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

定数値: 0.0

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

public CategoricalCrossentropy (Ops tf)

getSimpleName()を損失名として使用し、 fromLogits の場合はFROM_LOGITS_DEFAULT 、 labelSmoothing の場合はLABEL_SMOOTHING_DEFAULTREDUCTION_DEFAULTの損失削減、およびDEFAULT_AXISの軸を使用して、カテゴリカルクロスエントロピー損失を作成します。

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

public CategoricalCrossentropy (Ops tf、文字列名)

fromLogits のFROM_LOGITS_DEFAULT 、labelSmoothing のLABEL_SMOOTHING_DEFAULTREDUCTION_DEFAULTの損失削減、およびDEFAULT_AXISの軸を使用して、カテゴリカルクロスエントロピー損失を作成します。

パラメーター
TF TensorFlow オペレーション
名前この喪失の名前

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

getSimpleName()を損失名として、 FROM_LOGITS_DEFAULT (fromLogits の場合)、 LABEL_SMOOTHING_DEFAULT (labelSmoothing の場合)、およびDEFAULT_AXISの軸を使用して、カテゴリカルクロスエントロピー損失を作成します。

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

public CategoricalCrossentropy (Ops tf、文字列名、 Reduction削減)

fromLogits のカテゴリクロス エントロピー損失FROM_LOGITS_DEFAULT 、labelSmoothing のLABEL_SMOOTHING_DEFAULT 、およびDEFAULT_AXISの軸を作成します。

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

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

損失名としてgetSimpleName()を使用し、labelSmoothing にLABEL_SMOOTHING_DEFAULT使用し、 REDUCTION_DEFAULTの損失削減、およびDEFAULT_AXISの軸を使用して、カテゴリカルクロスエントロピー損失を作成します。

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

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

labelSmoothing のLABEL_SMOOTHING_DEFAULTREDUCTION_DEFAULTの損失削減、およびDEFAULT_AXISのチャネル軸を使用して、カテゴリカルクロスエントロピー損失を作成します。

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

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

損失名としてgetSimpleName()を使用し、 REDUCTION_DEFAULTの損失削減、およびDEFAULT_AXISのチャネル軸を使用して、カテゴリカルなクロス エントロピー損失を作成します。

パラメーター
TF TensorFlow オペレーション
fromロジッツ予測をロジット値のテンソルとして解釈するかどうか
ラベルスムージング[0, 1]の浮動小数点数。 > 0の場合、ラベル値は平滑化されます。これは、ラベル値の信頼性が緩和されることを意味します。たとえば、 labelSmoothing=0.2ラベル0には0.1の値を使用し、ラベル1には0.9の値を使用することを意味します。

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

REDUCTION_DEFAULTの損失削減とDEFAULT_AXISのチャネル軸を使用して、カテゴリカルなクロス エントロピー損失を作成します。

パラメーター
TF TensorFlow オペレーション
名前この喪失の名前
fromロジッツ予測をロジット値のテンソルとして解釈するかどうか
ラベルスムージング[0, 1]の浮動小数点数。 > 0の場合、ラベル値は平滑化されます。これは、ラベル値の信頼性が緩和されることを意味します。たとえば、 labelSmoothing=0.2ラベル0には0.1の値を使用し、ラベル1には0.9の値を使用することを意味します。

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

getSimpleName()を損失名として使用し、チャネル軸としてDEFAULT_AXISを使用して、カテゴリカルなクロス エントロピー損失を作成します。

パラメーター
TF TensorFlow オペレーション
fromロジッツ予測をロジット値のテンソルとして解釈するかどうか
ラベルスムージング[0, 1]の浮動小数点数。 > 0の場合、ラベル値は平滑化されます。これは、ラベル値の信頼性が緩和されることを意味します。たとえば、 x=0.2ラベル0には0.1の値を使用し、ラベル1には0.9の値を使用することを意味します。
削減損失に適用する軽減のタイプ。

public CategoricalCrossentropy (Ops tf、文字列名、ブール値 fromLogits、float labelSmoothing、 Reduction削減、int 軸)

カテゴリカルなクロスエントロピー損失を作成します

パラメーター
TF TensorFlow オペレーション
名前この喪失の名前
fromロジッツ予測をロジット値のテンソルとして解釈するかどうか
ラベルスムージング[0, 1]の浮動小数点数。 > 0の場合、ラベル値は平滑化されます。これは、ラベル値の信頼性が緩和されることを意味します。たとえば、 labelSmoothing=0.2ラベル0には0.1の値を使用し、ラベル1には0.9の値を使用することを意味します。
削減損失に適用する軽減のタイプ。
チャネル軸。 axis=-1はデータ形式「Channels Last」に対応し、 axis=1はデータ形式「Channels First」に対応します。 CHANNELS_LASTCHANNELS_FIRST
投げる
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.] の外にある場合。