Calcola la perdita di entropia incrociata tra le etichette reali e quelle previste.
Utilizzare questa perdita di entropia incrociata quando ci sono solo due classi di etichette (assunte come 0 e 1). Per ogni esempio, dovrebbe essere presente un unico valore a virgola mobile per previsione.
Utilizzo autonomo:
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
Chiamata con peso campione:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {1.f, 0.f}); Operand<TFloat32> result = bce.call(labels, predictions, sampleWeight); // produces 0.458f
Utilizzando il tipo di riduzione SUM
:
BinaryCrossentropy bce = new BinaryCrossentropy(tf, Reduction.SUM); Operand<TFloat32> result = bce.call(labels, predictions); // produces 1.630f
Utilizzando il tipo di riduzione NONE
:
BinaryCrossentropy bce = new BinaryCrossentropy(tf, Reduction.NONE); Operand<TFloat32> result = bce.call(labels, predictions); // produces [0.916f, 0.714f]
Costanti
booleano | FROM_LOGITS_DEFAULT | |
galleggiante | LABEL_SMOOTHING_DEFAULT |
Campi ereditati
Costruttori pubblici
Crossentropia binaria (Ops tf) Crea una perdita di crossentropia binaria utilizzando getSimpleName() come nome della perdita, FROM_LOGITS_DEFAULT per fromLogits, LABEL_SMOOTHING_DEFAULT per labelSmoothing e una riduzione della perdita di REDUCTION_DEFAULT | |
Crossentropia binaria (Ops tf, Riduzione riduzione) Crea una perdita di crossentropia binaria utilizzando getSimpleName() come nome della perdita, FROM_LOGITS_DEFAULT per fromLogits e LABEL_SMOOTHING_DEFAULT per labelSmoothing | |
Binary Crossentropy (Ops tf, booleano fromLogits) Crea una perdita di crossentropia binaria utilizzando getSimpleName() come nome della perdita, labelSmoothing di LABEL_SMOOTHING_DEFAULT , una riduzione di REDUCTION_DEFAULT , | |
BinaryCrossentropy (Ops tf, nome stringa, booleano fromLogits) Crea una perdita di crossentropia binaria utilizzando labelSmoothing di LABEL_SMOOTHING_DEFAULT una riduzione di REDUCTION_DEFAULT . | |
BinaryCrossentropy (Ops tf, booleano fromLogits, etichetta floatSmoothing) Crea una perdita di crossentropia binaria utilizzando getSimpleName() come nome della perdita e una riduzione di REDUCTION_DEFAULT . | |
BinaryCrossentropy (Ops tf, nome stringa, booleano fromLogits, etichetta floatSmoothing) Crea una perdita di crossentropia binaria utilizzando una riduzione di REDUCTION_DEFAULT . | |
Binary Crossentropy (Ops tf, booleano fromLogits, etichetta floatSmoothing, riduzione riduzione) Crea una perdita di crossentropia binaria | |
BinaryCrossentropy (Ops tf, nome stringa, booleano fromLogits, etichetta floatSmoothing, riduzione riduzione) Crea una perdita di crossentropia binaria |
Metodi pubblici
<T estende TNumero > Operando <T> |
Metodi ereditati
Costanti
booleano finale statico pubblico FROM_LOGITS_DEFAULT
float finale statico pubblico LABEL_SMOOTHING_DEFAULT
Costruttori pubblici
public BinaryCrossentropy (Ops tf)
Crea una perdita di crossentropia binaria utilizzando getSimpleName()
come nome della perdita, FROM_LOGITS_DEFAULT
per fromLogits, LABEL_SMOOTHING_DEFAULT
per labelSmoothing e una riduzione della perdita di REDUCTION_DEFAULT
Parametri
tf | le operazioni TensorFlow |
---|
public BinaryCrossentropy (Ops tf, Riduzione riduzione)
Crea una perdita di crossentropia binaria utilizzando getSimpleName()
come nome della perdita, FROM_LOGITS_DEFAULT
per fromLogits e LABEL_SMOOTHING_DEFAULT
per labelSmoothing
Parametri
tf | le operazioni TensorFlow |
---|---|
riduzione | Tipo di riduzione da applicare alla perdita. |
public BinaryCrossentropy (Ops tf, booleano fromLogits)
Crea una perdita di crossentropia binaria utilizzando getSimpleName()
come nome della perdita, labelSmoothing di LABEL_SMOOTHING_DEFAULT
, una riduzione di REDUCTION_DEFAULT
,
Parametri
tf | le operazioni TensorFlow |
---|---|
da Logits | Se interpretare le previsioni come un tensore di valori logit |
public BinaryCrossentropy (Ops tf, nome stringa, booleano fromLogits)
Crea una perdita di crossentropia binaria utilizzando labelSmoothing di LABEL_SMOOTHING_DEFAULT
una riduzione di REDUCTION_DEFAULT
.
Parametri
tf | le operazioni TensorFlow |
---|---|
nome | il nome della perdita |
daLogits | Se interpretare le previsioni come un tensore di valori logit |
public BinaryCrossentropy (Ops tf, booleano fromLogits, float labelSmoothing)
Crea una perdita di crossentropia binaria utilizzando getSimpleName()
come nome della perdita e una riduzione di REDUCTION_DEFAULT
.
Parametri
tf | le operazioni TensorFlow |
---|---|
daLogits | Se interpretare le previsioni come un tensore di valori logit |
etichettaLevigante | Un numero nell'intervallo [0, 1]. Quando 0, non si verifica alcun livellamento. Quando > 0, calcolare la perdita tra le etichette previste e una versione livellata delle etichette reali, dove il livellamento comprime le etichette verso 0,5. Valori più grandi di labelSmoothing corrispondono a uno smoothing più intenso. |
public BinaryCrossentropy (Ops tf, nome stringa, booleano fromLogits, etichetta floatSmoothing)
Crea una perdita di crossentropia binaria utilizzando una riduzione di REDUCTION_DEFAULT
.
Parametri
tf | le operazioni TensorFlow |
---|---|
nome | il nome della perdita |
daLogits | Se interpretare le previsioni come un tensore di valori logit |
etichettaLevigante | Un numero nell'intervallo [0, 1]. Quando 0, non si verifica alcun livellamento. Quando > 0, calcolare la perdita tra le etichette previste e una versione livellata delle etichette reali, dove il livellamento comprime le etichette verso 0,5. Valori più grandi di labelSmoothing corrispondono a uno smoothing più intenso. |
public BinaryCrossentropy (Ops tf, booleano fromLogits, float labelSmoothing, Riduzione riduzione)
Crea una perdita di crossentropia binaria
Parametri
tf | le operazioni TensorFlow |
---|---|
daLogits | Se interpretare le previsioni come un tensore di valori logit |
etichettaLevigante | Un numero nell'intervallo [0, 1]. Quando 0, non si verifica alcun livellamento. Quando > 0, calcolare la perdita tra le etichette previste e una versione livellata delle etichette reali, dove il livellamento comprime le etichette verso 0,5. Valori più grandi di labelSmoothing corrispondono a uno smoothing più intenso. |
riduzione | Tipo di riduzione da applicare alla perdita. |
public BinaryCrossentropy (Ops tf, nome stringa, booleano fromLogits, etichetta floatSmoothing, riduzione riduzione)
Crea una perdita di crossentropia binaria
Parametri
tf | le operazioni TensorFlow |
---|---|
nome | il nome della perdita |
daLogits | Se interpretare le previsioni come un tensore di valori logit |
etichettaLevigante | Un numero nell'intervallo [0, 1]. Quando 0, non si verifica alcun livellamento. Quando > 0, calcolare la perdita tra le etichette previste e una versione livellata delle etichette reali, dove il livellamento comprime le etichette verso 0,5. Valori più grandi di labelSmoothing corrispondono a uno smoothing più intenso. |
riduzione | Tipo di riduzione da applicare alla perdita. |
Lancia
IllegalArgumentException | se labelSmoothing non è compreso nell'intervallo compreso tra 0. - 1. |
---|
Metodi pubblici
chiamata pubblica dell'operando <T> ( Operando <? estende TNumber > etichette, previsioni dell'operando <T>, operando <T> sampleWeights)
Genera un operando che calcola la perdita.
Se eseguito in modalità Grafico, il calcolo genererà TFInvalidArgumentException
se i valori delle previsioni non rientrano nell'intervallo o [0. a 1.]. In modalità Eager, questa chiamata genererà IllegalArgumentException
, se i valori delle previsioni non sono compresi nell'intervallo o [0. a 1.]
Parametri
etichette | i valori o le etichette di verità |
---|---|
previsioni | le previsioni, i valori devono essere compresi nell'intervallo [0. a 1.] compreso. |
campionePesi | SampleWeights opzionale funge da coefficiente per la perdita. Se viene fornito uno scalare, la perdita viene semplicemente ridimensionata in base al valore fornito. Se SampleWeights è un tensore di dimensione [batch_size], la perdita totale per ciascun campione del batch viene riscalata dall'elemento corrispondente nel vettore SampleWeights. Se la forma di SampleWeights è [batch_size, d0, .. dN-1] (o può essere trasmessa a questa forma), ogni elemento di perdita delle previsioni viene ridimensionato in base al valore corrispondente di SampleWeights. (Nota su dN-1: tutte le funzioni di perdita si riducono di 1 dimensione, solitamente asse=-1.) |
Ritorni
- la perdita
Lancia
IllegalArgumentException | se le previsioni sono fuori dall'intervallo [0.-1.]. |
---|