Calcola la perdita di crossentropia tra etichette e previsioni.
Utilizzare questa funzione di perdita di entropia incrociata quando sono presenti due o più classi di etichette. È previsto che le etichette vengano fornite come numeri interi. Se desideri fornire etichette utilizzando la rappresentazione one-hot
, utilizza la perdita CategoricalCrossentropy
. Dovrebbero esserci valori in virgola mobile # classes
per caratteristica per predictions
e un singolo valore in virgola mobile per caratteristica per label
.
Nello snippet seguente è presente un singolo valore in virgola mobile per esempio per labels
e valori in virgola mobile # classes
per esempio per predictions
. La forma delle labels
è [batch_size]
e la forma delle predictions
è [batch_size, num_classes]
.
Utilizzo autonomo:
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
Chiamata con peso campione:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f}); Operand<TFloat32> result = sparseCCE.call(labels, predictions, sampleWeight); // produces 0.814f
Utilizzo del tipo di riduzione SUM
:
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf, Reduction.SUM); Operand<TFloat32> result = sparseCCE.call(labels, predictions); // produces 2.354f
Utilizzo del tipo di riduzione NONE
:
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf, Reduction.NONE); Operand<TFloat32> result = sparseCCE.call(labels, predictions); // produces [0.0513f, 2.303f]
Costanti
int | ASSE_DEFAULT | |
booleano | FROM_LOGITS_DEFAULT |
Campi ereditati
Costruttori pubblici
SparseCategoricoCrossentropia (Ops tf) Crea una perdita SparseCategoricalCrossentropy utilizzando getSimpleName() come nome della perdita, una riduzione della perdita di REDUCTION_DEFAULT e fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, nome stringa) Crea una perdita SparseCategoricalCrossentropy utilizzando una riduzione della perdita di REDUCTION_DEFAULT e fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricoCrossentropia (Ops tf, Riduzione riduzione ) Crea una perdita SparseCategoricalCrossentropy utilizzando getSimpleName() come nome della perdita, con Reduction.AUTO e fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, Nome stringa, Riduzione riduzione ) Crea una perdita SparseCategoricalCrossentropy con Reduction.AUTO e fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, nome stringa, booleano fromLogits) Crea una SparseCategoricalCrossentropy utilizzando una riduzione della perdita di REDUCTION_DEFAULT e fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricoCrossentropy (Ops tf, booleano fromLogits) Crea una perdita SparseCategoricalCrossentropy utilizzando getSimpleName() come nome della perdita, una riduzione della perdita di REDUCTION_DEFAULT e fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricoCrossentropia (Ops tf, booleano fromLogits, Riduzione riduzione) Crea una perdita SparseCategoricalCrossentropy utilizzando getSimpleName() come nome della perdita, | |
SparseCategoricalCrossentropy (Ops tf, Nome stringa, booleano fromLogits, Riduzione riduzione, asse int) Crea una crossentropia categoriale sparsa |
Metodi pubblici
<T estende TNumero > Operando <T> |
Metodi ereditati
Costanti
public static final int AXIS_DEFAULT
booleano finale statico pubblico FROM_LOGITS_DEFAULT
Costruttori pubblici
public SparseCategoricalCrossentropy (Ops tf)
Crea una perdita SparseCategoricalCrossentropy utilizzando getSimpleName()
come nome della perdita, una riduzione della perdita di REDUCTION_DEFAULT
e fromLogits= FROM_LOGITS_DEFAULT
.
Parametri
tf | le operazioni TensorFlow |
---|
public SparseCategoricalCrossentropy (Ops tf, nome stringa)
Crea una perdita SparseCategoricalCrossentropy utilizzando una riduzione della perdita di REDUCTION_DEFAULT
e fromLogits= FROM_LOGITS_DEFAULT
.
Parametri
tf | le operazioni TensorFlow |
---|---|
nome | il nome di questa funzione di perdita |
public SparseCategoricalCrossentropy (Ops tf, Riduzione riduzione )
Crea una perdita SparseCategoricalCrossentropy utilizzando getSimpleName()
come nome della perdita, con Reduction.AUTO e fromLogits= FROM_LOGITS_DEFAULT
.
Parametri
tf | le operazioni TensorFlow |
---|---|
riduzione | Tipo di riduzione da applicare alla perdita. |
public SparseCategoricalCrossentropy (Ops tf, Nome stringa, Riduzione riduzione )
Crea una perdita SparseCategoricalCrossentropy con Reduction.AUTO e fromLogits= FROM_LOGITS_DEFAULT
.
Parametri
tf | le operazioni TensorFlow |
---|---|
nome | il nome di questa funzione di perdita |
riduzione | Tipo di riduzione da applicare alla perdita. |
public SparseCategoricalCrossentropy (Ops tf, nome stringa, booleano fromLogits)
Crea una SparseCategoricalCrossentropy utilizzando una riduzione della perdita di REDUCTION_DEFAULT
e fromLogits= FROM_LOGITS_DEFAULT
.
Parametri
tf | le operazioni TensorFlow |
---|---|
nome | il nome di questa funzione di perdita |
daLogits | Se interpretare le previsioni come un tensore di valori logit |
public SparseCategoricalCrossentropy (Ops tf, booleano fromLogits)
Crea una perdita SparseCategoricalCrossentropy utilizzando getSimpleName()
come nome della perdita, una riduzione della perdita di REDUCTION_DEFAULT
e fromLogits= FROM_LOGITS_DEFAULT
.
Parametri
tf | le operazioni TensorFlow |
---|---|
daLogits | Se interpretare le previsioni come un tensore di valori logit |
public SparseCategoricalCrossentropy (Ops tf, booleano fromLogits, Riduzione riduzione)
Crea una perdita SparseCategoricalCrossentropy utilizzando getSimpleName()
come nome della perdita,
Parametri
tf | le operazioni TensorFlow |
---|---|
daLogits | Se interpretare le previsioni come un tensore di valori logit |
riduzione | Tipo di riduzione da applicare alla perdita. |
public SparseCategoricalCrossentropy (Ops tf, Nome stringa, booleano fromLogits, Riduzione riduzione, asse int)
Crea una crossentropia categoriale sparsa
Parametri
tf | le operazioni TensorFlow |
---|---|
nome | il nome di questa funzione di perdita |
daLogits | Se interpretare le previsioni come un tensore di valori logit |
riduzione | Tipo di riduzione da applicare alla perdita. |
asse | L'asse dei canali. axis=-1 corrisponde al formato dati "Canali ultimi" e axis=1 corrisponde al formato dati "Canali primi". |
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 sono compresi 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.]. |
---|