ラベルと予測の間のクロスエントロピー損失を計算します。
ラベル クラスが 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、 Reductionリダクション) 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、boolean 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.] の外にある場合。 |
|---|