ラベルと予測の間のクロスエントロピー損失を計算します。
ラベル クラスが 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_DEFAULT 、 REDUCTION_DEFAULT の損失削減、およびDEFAULT_AXIS の軸を使用して、カテゴリカルクロスエントロピー損失を作成します。 | |
CategoricalCrossentropy (Ops tf、文字列名) fromLogits の FROM_LOGITS_DEFAULT 、labelSmoothing のLABEL_SMOOTHING_DEFAULT 、 REDUCTION_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_DEFAULT 、 REDUCTION_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> |
継承されたメソッド
定数
パブリック静的最終整数DEFAULT_AXIS
パブリック静的最終ブール値FROM_LOGITS_DEFAULT
パブリック静的最終フロートLABEL_SMOOTHING_DEFAULT
パブリックコンストラクター
public CategoricalCrossentropy (Ops tf)
getSimpleName()
を損失名として使用し、 fromLogits の場合はFROM_LOGITS_DEFAULT
、 labelSmoothing の場合はLABEL_SMOOTHING_DEFAULT
、 REDUCTION_DEFAULT
の損失削減、およびDEFAULT_AXIS
の軸を使用して、カテゴリカルクロスエントロピー損失を作成します。
パラメーター
TF | TensorFlow オペレーション |
---|
public CategoricalCrossentropy (Ops tf、文字列名)
fromLogits のFROM_LOGITS_DEFAULT
、labelSmoothing のLABEL_SMOOTHING_DEFAULT
、 REDUCTION_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_DEFAULT
、 REDUCTION_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_LAST とCHANNELS_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.] の外にある場合。 |
---|