ラベルと予測の間のクロスエントロピー損失を計算します。
ラベル クラスが 2 つ以上ある場合は、このクロスエントロピー損失関数を使用します。ラベルは整数として提供されることが期待されます。 one-hot表現を使用してラベルを提供したい場合は、 CategoricalCrossentropy loss を使用してください。 predictionsの場合は特徴ごとに# classes浮動小数点値が必要であり、 labelの場合は特徴ごとに 1 つの浮動小数点値が必要です。
以下のスニペットでは、 labelsの例ごとに 1 つの浮動小数点値があり、 predictionsの例ごとに# classes浮動小数点値があります。 labelsの形状は[batch_size] 、 predictionsの形状は[batch_size, num_classes]です。
スタンドアロンでの使用:
Operand<TFloat32> labels =
tf.constant(new float[] {1, 2});
Operand<TFloat32> predictions =
tf.constant(new float[][] { {0.05f, 0.95f, 0f}, {0.1f, 0.8f, 0.1f} });
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf);
Operand<TFloat32> result = sparseCCE.call(labels, predictions);
// produces 1.177f
サンプル重量を使用して呼び出します:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f});
Operand<TFloat32> result = sparseCCE.call(labels, predictions, sampleWeight);
// produces 0.814f
SUMリダクション タイプを使用する場合:
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf, Reduction.SUM);
Operand<TFloat32> result = sparseCCE.call(labels, predictions);
// produces 2.354f
NONE削減タイプを使用する場合:
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf, Reduction.NONE);
Operand<TFloat32> result = sparseCCE.call(labels, predictions);
// produces [0.0513f, 2.303f]
定数
| 整数 | AXIS_DEFAULT | |
| ブール値 | FROM_LOGITS_DEFAULT |
継承されたフィールド
パブリックコンストラクター
SparseCategoricalCrossentropy (Ops tf) getSimpleName()を損失名として使用し、損失削減としてREDUCTION_DEFAULT 、および fromLogits= FROM_LOGITS_DEFAULTを使用して SparseCategoricalCrossentropy 損失を作成します。 | |
SparseCategoricalCrossentropy (Ops tf、文字列名) REDUCTION_DEFAULTおよび fromLogits= FROM_LOGITS_DEFAULTの損失削減を使用して、SparseCategoricalCrossentropy 損失を作成します。 | |
SparseCategoricalCrossentropy (Ops tf、 Reductionリダクション) getSimpleName()損失名として使用し、 Reduction.AUTO および fromLogits= FROM_LOGITS_DEFAULTを使用して SparseCategoricalCrossentropy 損失を作成します。 | |
SparseCategoricalCrossentropy (Ops tf、文字列名、 Reductionリダクション) Reduction.AUTO および fromLogits= FROM_LOGITS_DEFAULTを使用して SparseCategoricalCrossentropy 損失を作成します。 | |
SparseCategoricalCrossentropy (Ops tf、文字列名、ブール値 fromLogits) REDUCTION_DEFAULTおよび fromLogits= FROM_LOGITS_DEFAULTの損失削減を使用して SparseCategoricalCrossentropy を作成します。 | |
SparseCategoricalCrossentropy (Ops tf、ブール値 fromLogits) getSimpleName()損失名として使用し、 REDUCTION_DEFAULTおよび fromLogits= FROM_LOGITS_DEFAULTの損失削減を使用して SparseCategoricalCrossentropy 損失を作成します。 | |
SparseCategoricalCrossentropy (Ops tf、boolean fromLogits、 Reduction削減) getSimpleName()を損失名として使用して SparseCategoricalCrossentropy 損失を作成します。 | |
SparseCategoricalCrossentropy (Ops tf、文字列名、ブール値 fromLogits、 Reduction削減、int 軸) SparseCategoricalCrossentropy を作成します |
パブリックメソッド
| <T extends TNumber >オペランド<T> |
継承されたメソッド
定数
パブリック静的最終整数AXIS_DEFAULT
パブリック静的最終ブール値FROM_LOGITS_DEFAULT
パブリックコンストラクター
public SparseCategoricalCrossentropy (Ops tf)
getSimpleName()を損失名として使用し、損失削減としてREDUCTION_DEFAULT 、および fromLogits= FROM_LOGITS_DEFAULTを使用して SparseCategoricalCrossentropy 損失を作成します。
パラメータ
| TF | TensorFlow オペレーション |
|---|
public SparseCategoricalCrossentropy (Ops tf、文字列名)
REDUCTION_DEFAULTおよび fromLogits= FROM_LOGITS_DEFAULTの損失削減を使用して、SparseCategoricalCrossentropy 損失を作成します。
パラメータ
| TF | TensorFlow オペレーション |
|---|---|
| 名前 | この損失関数の名前 |
public SparseCategoricalCrossentropy (Ops tf、 Reduction削減)
getSimpleName()損失名として使用し、 Reduction.AUTO および fromLogits= FROM_LOGITS_DEFAULTを使用して SparseCategoricalCrossentropy 損失を作成します。
パラメータ
| TF | TensorFlow オペレーション |
|---|---|
| 削減 | 損失に適用する軽減のタイプ。 |
public SparseCategoricalCrossentropy (Ops tf、文字列名、 Reductionリダクション)
Reduction.AUTO および fromLogits= FROM_LOGITS_DEFAULTを使用して SparseCategoricalCrossentropy 損失を作成します。
パラメータ
| TF | TensorFlow オペレーション |
|---|---|
| 名前 | この損失関数の名前 |
| 削減 | 損失に適用する軽減のタイプ。 |
public SparseCategoricalCrossentropy (Ops tf、文字列名、ブール値 fromLogits)
REDUCTION_DEFAULTおよび fromLogits= FROM_LOGITS_DEFAULTの損失削減を使用して SparseCategoricalCrossentropy を作成します。
パラメータ
| TF | TensorFlow オペレーション |
|---|---|
| 名前 | この損失関数の名前 |
| fromロジッツ | 予測をロジット値のテンソルとして解釈するかどうか |
public SparseCategoricalCrossentropy (Ops tf、boolean fromLogits)
getSimpleName()損失名として使用し、 REDUCTION_DEFAULTおよび fromLogits= FROM_LOGITS_DEFAULTの損失削減を使用して SparseCategoricalCrossentropy 損失を作成します。
パラメータ
| TF | TensorFlow オペレーション |
|---|---|
| fromロジッツ | 予測をロジット値のテンソルとして解釈するかどうか |
public SparseCategoricalCrossentropy (Ops tf、boolean fromLogits、 Reduction削減)
getSimpleName()を損失名として使用して SparseCategoricalCrossentropy 損失を作成します。
パラメータ
| TF | TensorFlow オペレーション |
|---|---|
| fromロジッツ | 予測をロジット値のテンソルとして解釈するかどうか |
| 削減 | 損失に適用する軽減のタイプ。 |
public SparseCategoricalCrossentropy (Ops tf、文字列名、boolean fromLogits、 Reduction削減、int 軸)
SparseCategoricalCrossentropy を作成します
パラメータ
| TF | TensorFlow オペレーション |
|---|---|
| 名前 | この損失関数の名前 |
| fromロジッツ | 予測をロジット値のテンソルとして解釈するかどうか |
| 削減 | 損失に適用する軽減のタイプ。 |
| 軸 | チャネル軸。 axis=-1データ形式「Channels Last」に対応し、 axis=1データ形式「Channels First」に対応します。 |
パブリックメソッド
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.] の外にある場合。 |
|---|