Calcula a perda de entropia cruzada entre os rótulos e as previsões.
Use esta função de perda de entrecropia cruzada quando houver duas ou mais classes de rótulo. Esperamos que os rótulos sejam fornecidos em uma representação one_hot. Se você deseja fornecer rótulos como inteiros, use SparseCategoricalCrossentropy
loss. Deve haver # classes
valores de ponto flutuante por recurso.
Uso autônomo:
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
Ligando com peso de amostra:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f}); Operand<TFloat32> result = cce.call(labels, predictions, sampleWeight); // produces 0.814f
Usando o tipo de redução SUM
:
CategoricalCrossentropy cce = new CategoricalCrossentropy(tf, Reduction.SUM); Operand<TFloat32> result = cce.call(labels, predictions); // produces 2.354f
Usando NONE
tipo de redução:
CategoricalCrossentropy cce = new CategoricalCrossentropy(tf, Reduction.NONE); Operand<TFloat32> result = cce.call(labels, predictions); // produces [0.0513f, 2.303f]
Constantes
int | DEFAULT_AXIS | |
boleano | FROM_LOGITS_DEFAULT | |
flutuador | LABEL_SMOOTHING_DEFAULT |
Campos herdados
Construtores Públicos
CategoricalCrossentropy (Ops tf) Cria uma perda de entropia cruzada categórica usando getSimpleName() como nome da perda, FROM_LOGITS_DEFAULT para fromLogits, LABEL_SMOOTHING_DEFAULT para labelSmoothing, uma redução de perda de REDUCTION_DEFAULT e um eixo de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, nome da string) Cria uma perda de entropia cruzada categórica usando FROM_LOGITS_DEFAULT para fromLogits, LABEL_SMOOTHING_DEFAULT para labelSmoothing, uma redução de perda de REDUCTION_DEFAULT e um eixo de DEFAULT_AXIS | |
Crossentropia categórica (Ops tf, redução de redução) Cria uma perda de entropia cruzada categórica usando getSimpleName() como o nome da perda, FROM_LOGITS_DEFAULT para fromLogits, LABEL_SMOOTHING_DEFAULT para labelSmoothing e um eixo de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, nome da string, redução de redução) Cria uma entropia cruzada categórica Loss FROM_LOGITS_DEFAULT para fromLogits, LABEL_SMOOTHING_DEFAULT para labelSmoothing e um eixo de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, boolean fromLogits) Cria uma perda de entropia cruzada categórica usando getSimpleName() como o nome da perda, LABEL_SMOOTHING_DEFAULT para labelSmoothing, uma redução de perda de REDUCTION_DEFAULT e um eixo de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, String name, boolean fromLogits) Cria uma perda de entropia cruzada categórica usando LABEL_SMOOTHING_DEFAULT para labelSmoothing, uma redução de perda de REDUCTION_DEFAULT e um eixo de canal de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing) Cria uma perda de entropia cruzada categórica usando getSimpleName() como o nome da perda, uma redução de perda de REDUCTION_DEFAULT e um eixo de canal de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing) Cria uma perda de entropia cruzada categórica usando uma redução de perda de REDUCTION_DEFAULT e um eixo de canal de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing, redução de redução) Cria uma perda de entropia cruzada categórica usando getSimpleName() como o nome da perda e um eixo de canal de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing, redução de redução, eixo interno) Cria uma perda de entropia cruzada categórica |
Métodos Públicos
<T estende TNumber > Operando <T> |
Métodos herdados
Constantes
public static final int DEFAULT_AXIS
public static final booleano FROM_LOGITS_DEFAULT
flutuante público estático final LABEL_SMOOTHING_DEFAULT
Construtores Públicos
public CategoricalCrossentropy (Ops tf)
Cria uma perda de entropia cruzada categórica usando getSimpleName()
como o nome da perda, FROM_LOGITS_DEFAULT
para fromLogits, LABEL_SMOOTHING_DEFAULT
para labelSmoothing, uma redução de perda de REDUCTION_DEFAULT
e um eixo de DEFAULT_AXIS
Parâmetros
tf | o TensorFlow Ops |
---|
public CategoricalCrossentropy (Ops tf, nome da string)
Cria uma perda de entropia cruzada categórica usando FROM_LOGITS_DEFAULT
para fromLogits, LABEL_SMOOTHING_DEFAULT
para labelSmoothing, uma redução de perda de REDUCTION_DEFAULT
e um eixo de DEFAULT_AXIS
Parâmetros
tf | o TensorFlow Ops |
---|---|
nome | o nome desta perda |
public CategoricalCrossentropy (Ops tf, redução de redução)
Cria uma perda de entropia cruzada categórica usando getSimpleName()
como o nome da perda, FROM_LOGITS_DEFAULT
para fromLogits, LABEL_SMOOTHING_DEFAULT
para labelSmoothing e um eixo de DEFAULT_AXIS
Parâmetros
tf | o TensorFlow Ops |
---|---|
redução | Tipo de redução a ser aplicado à perda. |
public CategoricalCrossentropy (Ops tf, nome da string, redução de redução)
Cria uma entropia cruzada categórica Loss FROM_LOGITS_DEFAULT
para fromLogits, LABEL_SMOOTHING_DEFAULT
para labelSmoothing e um eixo de DEFAULT_AXIS
Parâmetros
tf | o TensorFlow Ops |
---|---|
nome | o nome desta perda |
redução | Tipo de redução a ser aplicado à perda. |
public CategoricalCrossentropy (Ops tf, boolean fromLogits)
Cria uma perda de entropia cruzada categórica usando getSimpleName()
como o nome da perda, LABEL_SMOOTHING_DEFAULT
para labelSmoothing, uma redução de perda de REDUCTION_DEFAULT
e um eixo de DEFAULT_AXIS
Parâmetros
tf | o TensorFlow Ops |
---|---|
fromLogits | Se deve interpretar as previsões como um tensor de valores logit |
public CategoricalCrossentropy (Ops tf, String name, boolean fromLogits)
Cria uma perda de entropia cruzada categórica usando LABEL_SMOOTHING_DEFAULT
para labelSmoothing, uma redução de perda de REDUCTION_DEFAULT
e um eixo de canal de DEFAULT_AXIS
Parâmetros
tf | o TensorFlow Ops |
---|---|
nome | o nome desta perda |
fromLogits | Se deve interpretar as previsões como um tensor de valores logit |
public CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing)
Cria uma perda de entropia cruzada categórica usando getSimpleName()
como o nome da perda, uma redução de perda de REDUCTION_DEFAULT
e um eixo de canal de DEFAULT_AXIS
Parâmetros
tf | o TensorFlow Ops |
---|---|
fromLogits | Se deve interpretar as previsões como um tensor de valores logit |
labelSmoothing | Flutue em [0, 1] . Quando > 0 , os valores dos rótulos são suavizados, o que significa que a confiança nos valores dos rótulos é reduzida. por exemplo, labelSmoothing=0.2 significa que usaremos um valor de 0.1 para o rótulo 0 e 0.9 para o rótulo 1 |
public CategoricalCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing)
Cria uma perda de entropia cruzada categórica usando uma redução de perda de REDUCTION_DEFAULT
e um eixo de canal de DEFAULT_AXIS
Parâmetros
tf | o TensorFlow Ops |
---|---|
nome | o nome desta perda |
fromLogits | Se deve interpretar as previsões como um tensor de valores logit |
labelSmoothing | Flutue em [0, 1] . Quando > 0 , os valores do rótulo são suavizados, o que significa que a confiança nos valores do rótulo é relaxada. por exemplo, labelSmoothing=0.2 significa que usaremos um valor de 0.1 para o rótulo 0 e 0.9 para o rótulo 1 |
public CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing, redução de redução)
Cria uma perda de entropia cruzada categórica usando getSimpleName()
como o nome da perda e um eixo de canal de DEFAULT_AXIS
Parâmetros
tf | o TensorFlow Ops |
---|---|
fromLogits | Se deve interpretar as previsões como um tensor de valores logit |
labelSmoothing | Flutue em [0, 1] . Quando > 0 , os valores do rótulo são suavizados, o que significa que a confiança nos valores do rótulo é relaxada. por exemplo, x=0.2 significa que usaremos um valor de 0.1 para o rótulo 0 e 0.9 para o rótulo 1 |
redução | Tipo de redução a ser aplicado à perda. |
public CategoricalCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing, redução de redução, eixo interno)
Cria uma perda de entropia cruzada categórica
Parâmetros
tf | o TensorFlow Ops |
---|---|
nome | o nome desta perda |
fromLogits | Se deve interpretar as previsões como um tensor de valores logit |
labelSmoothing | Flutue em [0, 1] . Quando > 0 , os valores do rótulo são suavizados, o que significa que a confiança nos valores do rótulo é relaxada. por exemplo, labelSmoothing=0.2 significa que usaremos um valor de 0.1 para o rótulo 0 e 0.9 para o rótulo 1 |
redução | Tipo de redução a ser aplicado à perda. |
eixo | O eixo dos canais. axis=-1 corresponde ao formato de dados "Últimos canais" e axis=1 corresponde ao formato de dados "Canais primeiro". CHANNELS_LAST e CHANNELS_FIRST |
Lança
Exceção de argumento ilegal | se labelSmoothing não está no intervalo inclusivo de 0. - 1. |
---|
Métodos Públicos
pública Operando <T> chamada ( Operando <? estende TNumber > rótulos, Operando <T> previsões, Operando <T> sampleWeights)
Gera um operando que calcula a perda.
Se executado no modo Graph, o cálculo lançará TFInvalidArgumentException
se os valores de predições estiverem fora do intervalo o [0. a 1.]. No modo ansioso, esta chamada lançará IllegalArgumentException
, se os valores de predições estiverem fora do intervalo o [0. a 1.]
Parâmetros
rótulos | os valores verdadeiros ou rótulos |
---|---|
previsões | as previsões, os valores devem estar no intervalo [0. a 1.] inclusive. |
sampleWeights | SampleWeights opcional atua 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], 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 pode ser transmitida para esta forma), então cada elemento de perda de previsões é dimensionado pelo valor correspondente de SampleWeights. (Nota sobre dN-1: todas as funções de perda reduzem 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.]. |
---|