CategoricalCrossentropy

classe pubblica CategoricalCrossentropy

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>
chiamata ( Operando <? estende TNumber > etichette, Operando <T> previsioni, Operando <T> sampleWeights)
Genera un operando che calcola la perdita.

Metodi ereditati

Costanti

public static final int DEFAULT_AXIS

Valore costante: -1

booleano finale statico pubblico FROM_LOGITS_DEFAULT

Valore costante: falso

float finale statico pubblico LABEL_SMOOTHING_DEFAULT

Valore costante: 0,0

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.].