真のラベルと予測されたラベル間のクロスエントロピー損失を計算します。
このクロスエントロピー損失は、ラベル クラスが 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.] の外にある場合。 |
---|