Calcola la perdita di entropia incrociata tra le etichette e le previsioni.
Utilizzare questa funzione di perdita di entropia incrociata quando sono presenti due o più classi di etichette. Ci aspettiamo che le etichette vengano fornite in una rappresentazione one_hot. Se desideri fornire etichette come numeri interi, utilizza la perdita SparseCategoricalCrossentropy
. Dovrebbero esserci # classes
per funzione.
Utilizzo autonomo:
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
Chiamata con peso campione:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f}); Operand<TFloat32> result = cce.call(labels, predictions, sampleWeight); // produces 0.814f
Utilizzo del tipo di riduzione SUM
:
CategoricalCrossentropy cce = new CategoricalCrossentropy(tf, Reduction.SUM); Operand<TFloat32> result = cce.call(labels, predictions); // produces 2.354f
Utilizzo del tipo di riduzione NONE
:
CategoricalCrossentropy cce = new CategoricalCrossentropy(tf, Reduction.NONE); Operand<TFloat32> result = cce.call(labels, predictions); // produces [0.0513f, 2.303f]
Costanti
int | DEFAULT_AXIS | |
booleano | FROM_LOGITS_DEFAULT | |
galleggiante | LABEL_SMOOTHING_DEFAULT |
Campi ereditati
Costruttori pubblici
CategorialeCrossentropia (Ops tf) Crea una perdita di entropia incrociata categoriale utilizzando getSimpleName() come nome della perdita, FROM_LOGITS_DEFAULT per fromLogits, LABEL_SMOOTHING_DEFAULT per labelSmoothing, una riduzione della perdita di REDUCTION_DEFAULT e un asse di DEFAULT_AXIS | |
Incrociato categorico (Ops tf, nome stringa) Crea una perdita di entropia incrociata categoriale utilizzando FROM_LOGITS_DEFAULT per fromLogits, LABEL_SMOOTHING_DEFAULT per labelSmoothing, una riduzione della perdita di REDUCTION_DEFAULT e un asse di DEFAULT_AXIS | |
Crossentropia categoriale (Ops tf, Riduzione riduzione ) Crea una perdita di entropia incrociata categoriale utilizzando getSimpleName() come nome della perdita, FROM_LOGITS_DEFAULT per fromLogits, LABEL_SMOOTHING_DEFAULT per labelSmoothing e un asse di DEFAULT_AXIS | |
Entropia incrociata categoriale (Ops tf, Nome stringa, Riduzione riduzione) Crea una perdita di entropia incrociata categorica FROM_LOGITS_DEFAULT per fromLogits, LABEL_SMOOTHING_DEFAULT per labelSmoothing e un asse di DEFAULT_AXIS | |
CategorialeIncrocioentropia (Ops tf, booleano daLogits) Crea una perdita di entropia incrociata categoriale utilizzando getSimpleName() come nome della perdita, LABEL_SMOOTHING_DEFAULT per labelSmoothing, una riduzione della perdita di REDUCTION_DEFAULT e un asse di DEFAULT_AXIS | |
CategorialeIncrocioentropia (Ops tf, nome stringa, booleano fromLogits) Crea una perdita di entropia incrociata categoriale utilizzando LABEL_SMOOTHING_DEFAULT per labelSmoothing, una riduzione della perdita di REDUCTION_DEFAULT e un asse del canale di DEFAULT_AXIS | |
CategorialeIncrocioentropia (Ops tf, booleano fromLogits, etichetta floatSmoothing) Crea una perdita di entropia incrociata categoriale utilizzando getSimpleName() come nome della perdita, una riduzione della perdita di REDUCTION_DEFAULT e un asse del canale di DEFAULT_AXIS | |
CategorialeIncrocioentropia (Ops tf, nome stringa, booleano fromLogits, etichetta floatSmoothing) Crea una perdita di entropia incrociata categoriale utilizzando una riduzione della perdita di REDUCTION_DEFAULT e un asse del canale di DEFAULT_AXIS | |
CategorialeIncrocioentropia (Ops tf, booleano fromLogits, etichetta floatSmoothing, Riduzione riduzione ) Crea una perdita di entropia incrociata categoriale utilizzando getSimpleName() come nome della perdita e un asse del canale di DEFAULT_AXIS | |
CategorialeEntropia incrociata (Ops tf, Nome stringa, booleano fromLogits, etichetta mobileSmoothing, Riduzione riduzione, asse int) Crea una perdita di entropia incrociata categorica |
Metodi pubblici
<T estende TNumero > Operando <T> |
Metodi ereditati
Costanti
public static final int DEFAULT_AXIS
booleano finale statico pubblico FROM_LOGITS_DEFAULT
float finale statico pubblico LABEL_SMOOTHING_DEFAULT
Costruttori pubblici
public CategoricalCrossentropy (Ops tf)
Crea una perdita di entropia incrociata categoriale utilizzando getSimpleName()
come nome della perdita, FROM_LOGITS_DEFAULT
per fromLogits, LABEL_SMOOTHING_DEFAULT
per labelSmoothing, una riduzione della perdita di REDUCTION_DEFAULT
e un asse di DEFAULT_AXIS
Parametri
tf | le operazioni TensorFlow |
---|
public CategoricalCrossentropy (Ops tf, nome stringa)
Crea una perdita di entropia incrociata categoriale utilizzando FROM_LOGITS_DEFAULT
per fromLogits, LABEL_SMOOTHING_DEFAULT
per labelSmoothing, una riduzione della perdita di REDUCTION_DEFAULT
e un asse di DEFAULT_AXIS
Parametri
tf | le operazioni TensorFlow |
---|---|
nome | il nome di questa perdita |
public CategoricalCrossentropy (Ops tf, Riduzione riduzione)
Crea una perdita di entropia incrociata categoriale utilizzando getSimpleName()
come nome della perdita, FROM_LOGITS_DEFAULT
per fromLogits, LABEL_SMOOTHING_DEFAULT
per labelSmoothing e un asse di DEFAULT_AXIS
Parametri
tf | le operazioni TensorFlow |
---|---|
riduzione | Tipo di riduzione da applicare alla perdita. |
public CategoricalCrossentropy (Ops tf, Nome stringa, Riduzione riduzione)
Crea una perdita di entropia incrociata categorica FROM_LOGITS_DEFAULT
per fromLogits, LABEL_SMOOTHING_DEFAULT
per labelSmoothing e un asse di DEFAULT_AXIS
Parametri
tf | le operazioni TensorFlow |
---|---|
nome | il nome di questa perdita |
riduzione | Tipo di riduzione da applicare alla perdita. |
public CategoricalCrossentropy (Ops tf, booleano fromLogits)
Crea una perdita di entropia incrociata categoriale utilizzando getSimpleName()
come nome della perdita, LABEL_SMOOTHING_DEFAULT
per labelSmoothing, una riduzione della perdita di REDUCTION_DEFAULT
e un asse di DEFAULT_AXIS
Parametri
tf | le operazioni TensorFlow |
---|---|
da Logits | Se interpretare le previsioni come un tensore di valori logit |
public CategoricalCrossentropy (Ops tf, nome stringa, booleano fromLogits)
Crea una perdita di entropia incrociata categoriale utilizzando LABEL_SMOOTHING_DEFAULT
per labelSmoothing, una riduzione della perdita di REDUCTION_DEFAULT
e un asse del canale di DEFAULT_AXIS
Parametri
tf | le operazioni TensorFlow |
---|---|
nome | il nome di questa perdita |
da Logits | Se interpretare le previsioni come un tensore di valori logit |
public CategoricalCrossentropy (Ops tf, booleano fromLogits, float labelSmoothing)
Crea una perdita di entropia incrociata categoriale utilizzando getSimpleName()
come nome della perdita, una riduzione della perdita di REDUCTION_DEFAULT
e un asse del canale di DEFAULT_AXIS
Parametri
tf | le operazioni TensorFlow |
---|---|
da Logits | Se interpretare le previsioni come un tensore di valori logit |
etichettaLevigante | Galleggia in [0, 1] . Quando > 0 , i valori delle etichette vengono livellati, il che significa che la fiducia sui valori delle etichette viene attenuata. ad esempio labelSmoothing=0.2 significa che utilizzeremo un valore di 0.1 per l'etichetta 0 e 0.9 per l'etichetta 1 |
public CategoricalCrossentropy (Ops tf, nome stringa, booleano fromLogits, etichetta floatSmoothing)
Crea una perdita di entropia incrociata categoriale utilizzando una riduzione della perdita di REDUCTION_DEFAULT
e un asse del canale di DEFAULT_AXIS
Parametri
tf | le operazioni TensorFlow |
---|---|
nome | il nome di questa perdita |
da Logits | Se interpretare le previsioni come un tensore di valori logit |
etichettaLevigante | Galleggia in [0, 1] . Quando > 0 , i valori delle etichette vengono livellati, il che significa che la fiducia sui valori delle etichette viene attenuata. ad esempio labelSmoothing=0.2 significa che utilizzeremo un valore di 0.1 per l'etichetta 0 e 0.9 per l'etichetta 1 |
public CategoricalCrossentropy (Ops tf, booleano fromLogits, float labelSmoothing, Riduzione riduzione)
Crea una perdita di entropia incrociata categoriale utilizzando getSimpleName()
come nome della perdita e un asse del canale di DEFAULT_AXIS
Parametri
tf | le operazioni TensorFlow |
---|---|
da Logits | Se interpretare le previsioni come un tensore di valori logit |
etichettaLevigante | Galleggia in [0, 1] . Quando > 0 , i valori delle etichette vengono livellati, il che significa che la fiducia sui valori delle etichette viene attenuata. ad esempio x=0.2 significa che utilizzeremo un valore di 0.1 per l'etichetta 0 e 0.9 per l'etichetta 1 |
riduzione | Tipo di riduzione da applicare alla perdita. |
public CategoricalCrossentropy (Ops tf, nome stringa, booleano fromLogits, etichetta floatSmoothing, riduzione riduzione , asse int)
Crea una perdita di entropia incrociata categorica
Parametri
tf | le operazioni TensorFlow |
---|---|
nome | il nome di questa perdita |
da Logits | Se interpretare le previsioni come un tensore di valori logit |
etichettaLevigante | Galleggia in [0, 1] . Quando > 0 , i valori delle etichette vengono livellati, il che significa che la fiducia sui valori delle etichette viene attenuata. ad esempio labelSmoothing=0.2 significa che utilizzeremo un valore di 0.1 per l'etichetta 0 e 0.9 per l'etichetta 1 |
riduzione | Tipo di riduzione da applicare alla perdita. |
asse | L'asse dei canali. axis=-1 corrisponde al formato dati "Canali Ultimo" e axis=1 corrisponde al formato dati "Canali Primo". CHANNELS_LAST e CHANNELS_FIRST |
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à |
---|---|
predizioni | 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.) |
ritorna
- la perdita
Lancia
IllegalArgumentException | se le previsioni sono fuori dall'intervallo [0.-1.]. |
---|