Calcula a perda de entropia cruzada entre rótulos e previsões.
Use esta função de perda de entropia cruzada quando houver duas ou mais classes de rótulos. Espera-se que os rótulos sejam fornecidos como números inteiros. Se você deseja fornecer rótulos usando representação one-hot
, use perda CategoricalCrossentropy
. Deve haver # classes
de valores de ponto flutuante por recurso para predictions
e um único valor de ponto flutuante por recurso para label
.
No trecho abaixo, há um único valor de ponto flutuante por exemplo para labels
e # classes
de valores de ponto flutuante por exemplo para predictions
. O formato dos labels
é [batch_size]
e o formato das predictions
é [batch_size, num_classes]
.
Uso autônomo:
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
Chamando com peso amostral:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f}); Operand<TFloat32> result = sparseCCE.call(labels, predictions, sampleWeight); // produces 0.814f
Usando o tipo de redução SUM
:
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf, Reduction.SUM); Operand<TFloat32> result = sparseCCE.call(labels, predictions); // produces 2.354f
Usando o tipo de redução NONE
:
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf, Reduction.NONE); Operand<TFloat32> result = sparseCCE.call(labels, predictions); // produces [0.0513f, 2.303f]
Constantes
interno | EIXO_DEFAULT | |
boleano | FROM_LOGITS_DEFAULT |
Campos Herdados
Construtores Públicos
SparseCategoricalCrossentropia (Ops tf) Cria uma perda SparseCategoricalCrossentropy usando getSimpleName() como o nome da perda, uma redução de perda de REDUCTION_DEFAULT e fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, nome da string) Cria uma perda SparseCategoricalCrossentropy usando uma redução de perda de REDUCTION_DEFAULT e fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, redução de redução ) Cria uma perda SparseCategoricalCrossentropy usando getSimpleName() como o nome da perda, com Reduction.AUTO e fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, nome da string, redução de redução ) Cria uma perda SparseCategoricalCrossentropy com Reduction.AUTO e fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, nome da string, booleano fromLogits) Cria um SparseCategoricalCrossentropy usando uma redução de perda de REDUCTION_DEFAULT e fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, booleano fromLogits) Cria uma perda SparseCategoricalCrossentropy usando getSimpleName() como o nome da perda, uma redução de perda de REDUCTION_DEFAULT e fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, booleano fromLogits, redução de redução ) Cria uma perda SparseCategoricalCrossentropy usando getSimpleName() como o nome da perda, | |
SparseCategoricalCrossentropy (Ops tf, nome da string, booleano fromLogits, redução de redução , eixo interno) Cria uma SparseCategoricalCrossentropy |
Métodos Públicos
<T estende TNumber > Operando <T> | chamada ( Operando <? estende TNumber > rótulos, previsões de Operando <T>, Operando <T> sampleWeights) Gera um Operando que calcula a perda. |
Métodos herdados
Constantes
público estático final int AXIS_DEFAULT
público estático final booleano FROM_LOGITS_DEFAULT
Construtores Públicos
public SparseCategoricalCrossentropy (Ops tf)
Cria uma perda SparseCategoricalCrossentropy usando getSimpleName()
como o nome da perda, uma redução de perda de REDUCTION_DEFAULT
e fromLogits= FROM_LOGITS_DEFAULT
.
Parâmetros
TF | as operações do TensorFlow |
---|
public SparseCategoricalCrossentropy (Ops tf, nome da string)
Cria uma perda SparseCategoricalCrossentropy usando uma redução de perda de REDUCTION_DEFAULT
e fromLogits= FROM_LOGITS_DEFAULT
.
Parâmetros
TF | as operações do TensorFlow |
---|---|
nome | o nome desta função de perda |
público SparseCategoricalCrossentropy (Ops tf, redução de redução )
Cria uma perda SparseCategoricalCrossentropy usando getSimpleName()
como o nome da perda, com Reduction.AUTO e fromLogits= FROM_LOGITS_DEFAULT
.
Parâmetros
TF | as operações do TensorFlow |
---|---|
redução | Tipo de Redução a aplicar à perda. |
public SparseCategoricalCrossentropy (Ops tf, nome da string, redução de redução )
Cria uma perda SparseCategoricalCrossentropy com Reduction.AUTO e fromLogits= FROM_LOGITS_DEFAULT
.
Parâmetros
TF | as operações do TensorFlow |
---|---|
nome | o nome desta função de perda |
redução | Tipo de Redução a aplicar à perda. |
public SparseCategoricalCrossentropy (Ops tf, String name, boolean fromLogits)
Cria um SparseCategoricalCrossentropy usando uma redução de perda de REDUCTION_DEFAULT
e fromLogits= FROM_LOGITS_DEFAULT
.
Parâmetros
TF | as operações do TensorFlow |
---|---|
nome | o nome desta função de perda |
deLogits | Se deve interpretar as previsões como um tensor de valores logit |
public SparseCategoricalCrossentropy (Ops tf, booleano fromLogits)
Cria uma perda SparseCategoricalCrossentropy usando getSimpleName()
como o nome da perda, uma redução de perda de REDUCTION_DEFAULT
e fromLogits= FROM_LOGITS_DEFAULT
.
Parâmetros
TF | as operações do TensorFlow |
---|---|
deLogits | Se deve interpretar as previsões como um tensor de valores logit |
public SparseCategoricalCrossentropy (Ops tf, booleano fromLogits, redução de redução )
Cria uma perda SparseCategoricalCrossentropy usando getSimpleName()
como o nome da perda,
Parâmetros
TF | as operações do TensorFlow |
---|---|
deLogits | Se deve interpretar as previsões como um tensor de valores logit |
redução | Tipo de Redução a aplicar à perda. |
public SparseCategoricalCrossentropy (Ops tf, nome da string, booleano fromLogits, redução de redução , eixo interno)
Cria uma SparseCategoricalCrossentropy
Parâmetros
TF | as operações do TensorFlow |
---|---|
nome | o nome desta função de perda |
deLogits | Se deve interpretar as previsões como um tensor de valores logit |
redução | Tipo de Redução a aplicar à perda. |
eixo | O eixo dos canais. axis=-1 corresponde ao formato de dados `Canais Últimos' e axis=1 corresponde ao formato de dados 'Canais Primeiro'. |
Métodos Públicos
chamada de operando público <T> ( Operando <? estende TNumber > rótulos, previsões de operando <T>, pesos de amostra de operando <T>)
Gera um Operando que calcula a perda.
Se executado no modo Graph, o cálculo lançará TFInvalidArgumentException
se os valores das previsões estiverem fora do intervalo o [0. para 1.]. No modo Eager, esta chamada lançará IllegalArgumentException
, se os valores das previsões estiverem fora do intervalo o [0. para 1.]
Parâmetros
rótulos | os valores de verdade ou rótulos |
---|---|
previsões | as previsões, os valores devem estar no intervalo [0. para 1.] inclusive. |
pesos de amostra | SampleWeights opcionais atuam como um coeficiente para a perda. Se um escalar for fornecido, a perda será simplesmente dimensionada pelo valor fornecido. Se SampleWeights for um tensor de tamanho [batch_size], então a perda total de cada amostra do lote será redimensionada pelo elemento correspondente no vetor SampleWeights. Se a forma de SampleWeights for [batch_size, d0, .. dN-1] (ou puder ser transmitida para esta forma), então cada elemento de perda de previsões será dimensionado pelo valor correspondente de SampleWeights. (Nota sobre dN-1: todas as funções de perda são reduzidas em 1 dimensão, geralmente eixo=-1.) |
Devoluções
- a perda
Lança
Exceção de argumento ilegal | se as previsões estiverem fora do intervalo [0.-1.]. |
---|