真のラベルと予測されたラベル間のクロスエントロピー損失を計算します。
このクロスエントロピー損失は、ラベル クラスが 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> |
継承されたメソッド
定数
パブリック静的最終ブール値FROM_LOGITS_DEFAULT
パブリック静的最終フロートLABEL_SMOOTHING_DEFAULT
パブリックコンストラクター
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.] の外にある場合。 |
|---|