Calcula a perda de entropia cruzada entre rótulos verdadeiros e rótulos previstos.
Use esta perda de entropia cruzada quando houver apenas duas classes de rótulos (assumidas como 0 e 1). Para cada exemplo, deve haver um único valor de ponto flutuante por predição.
Uso autônomo:
Operand<TFloat32> labels = tf.constant(new float[][] { {0.f, 1.f}, {0.f, 0.f} }); Operand<TFloat32> predictions = tf.constant(new float[][] { {0.6f, 0.4f}, {0.4f, 0.6f} }); BinaryCrossentropy bce = new BinaryCrossentropy(tf); Operand<TFloat32> result = bce.call(labels, predictions); // produces 0.815
Chamando com peso amostral:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {1.f, 0.f}); Operand<TFloat32> result = bce.call(labels, predictions, sampleWeight); // produces 0.458f
Usando o tipo de redução SUM
:
BinaryCrossentropy bce = new BinaryCrossentropy(tf, Reduction.SUM); Operand<TFloat32> result = bce.call(labels, predictions); // produces 1.630f
Usando o tipo de redução NONE
:
BinaryCrossentropy bce = new BinaryCrossentropy(tf, Reduction.NONE); Operand<TFloat32> result = bce.call(labels, predictions); // produces [0.916f, 0.714f]
Constantes
booleano | FROM_LOGITS_DEFAULT | |
flutuador | LABEL_SMOOTHING_DEFAULT |
Campos Herdados
Construtores Públicos
BinaryCrossentropia (Ops tf) Cria uma perda de entropia cruzada binária usando getSimpleName() como o nome da perda, FROM_LOGITS_DEFAULT para fromLogits, LABEL_SMOOTHING_DEFAULT para labelSmoothing e uma redução de perda de REDUCTION_DEFAULT | |
BinaryCrossentropy (Ops tf, redução de redução ) Cria uma perda binária de crossentropia usando getSimpleName() como o nome da perda, FROM_LOGITS_DEFAULT para fromLogits e LABEL_SMOOTHING_DEFAULT para labelSmoothing | |
BinaryCrossentropy (Ops tf, booleano fromLogits) Cria uma perda de Crossentropia Binária usando getSimpleName() como o nome da perda, labelSmoothing de LABEL_SMOOTHING_DEFAULT , uma redução de REDUCTION_DEFAULT , | |
BinaryCrossentropy (Ops tf, nome da string, booleano fromLogits) Cria uma perda binária de crossentropia usando labelSmoothing de LABEL_SMOOTHING_DEFAULT uma redução de REDUCTION_DEFAULT . | |
BinaryCrossentropy (Ops tf, booleano fromLogits, float labelSmoothing) Cria uma perda de crossentropia binária usando getSimpleName() como o nome da perda e uma redução de REDUCTION_DEFAULT . | |
BinaryCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing) Cria uma perda de Crossentropia Binária usando uma redução de REDUCTION_DEFAULT . | |
BinaryCrossentropy (Ops tf, booleano fromLogits, rótulo flutuante Suavização, redução de redução ) Cria uma perda de crossentropia binária | |
BinaryCrossentropy (Ops tf, nome da string, booleano fromLogits, float labelSmoothing, redução de redução ) Cria uma perda de crossentropia binária |
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 booleano FROM_LOGITS_DEFAULT
flutuador final estático público LABEL_SMOOTHING_DEFAULT
Construtores Públicos
BinaryCrossentropia pública (Ops tf)
Cria uma perda de entropia cruzada binária usando getSimpleName()
como o nome da perda, FROM_LOGITS_DEFAULT
para fromLogits, LABEL_SMOOTHING_DEFAULT
para labelSmoothing e uma redução de perda de REDUCTION_DEFAULT
Parâmetros
TF | as operações do TensorFlow |
---|
public BinaryCrossentropy (Ops tf, redução de redução )
Cria uma perda binária de crossentropia usando getSimpleName()
como o nome da perda, FROM_LOGITS_DEFAULT
para fromLogits e LABEL_SMOOTHING_DEFAULT
para labelSmoothing
Parâmetros
TF | as operações do TensorFlow |
---|---|
redução | Tipo de Redução a aplicar à perda. |
public BinaryCrossentropy (Ops tf, booleano fromLogits)
Cria uma perda de Crossentropia Binária usando getSimpleName()
como o nome da perda, labelSmoothing de LABEL_SMOOTHING_DEFAULT
, uma redução de REDUCTION_DEFAULT
,
Parâmetros
TF | as operações do TensorFlow |
---|---|
deLogits | Se deve interpretar as previsões como um tensor de valores logit |
public BinaryCrossentropy (Ops tf, nome da string, booleano fromLogits)
Cria uma perda binária de crossentropia usando labelSmoothing de LABEL_SMOOTHING_DEFAULT
uma redução de REDUCTION_DEFAULT
.
Parâmetros
TF | as operações do TensorFlow |
---|---|
nome | o nome da perda |
deLogits | Se deve interpretar as previsões como um tensor de valores logit |
public BinaryCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing)
Cria uma perda de entropia cruzada binária usando getSimpleName()
como o nome da perda e uma redução de REDUCTION_DEFAULT
.
Parâmetros
TF | as operações do TensorFlow |
---|---|
deLogits | Se deve interpretar as previsões como um tensor de valores logit |
etiqueta Suavização | Um número no intervalo [0, 1]. Quando 0, nenhuma suavização ocorre. Quando > 0, calcule a perda entre os rótulos previstos e uma versão suavizada dos rótulos verdadeiros, onde a suavização comprime os rótulos em direção a 0,5. Valores maiores de labelSmoothing correspondem a uma suavização mais pesada. |
public BinaryCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing)
Cria uma perda de Crossentropia Binária usando uma redução de REDUCTION_DEFAULT
.
Parâmetros
TF | as operações do TensorFlow |
---|---|
nome | o nome da perda |
deLogits | Se deve interpretar as previsões como um tensor de valores logit |
etiqueta Suavização | Um número no intervalo [0, 1]. Quando 0, nenhuma suavização ocorre. Quando > 0, calcule a perda entre os rótulos previstos e uma versão suavizada dos rótulos verdadeiros, onde a suavização comprime os rótulos em direção a 0,5. Valores maiores de labelSmoothing correspondem a uma suavização mais pesada. |
public BinaryCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing, redução de redução )
Cria uma perda de crossentropia binária
Parâmetros
TF | as operações do TensorFlow |
---|---|
deLogits | Se deve interpretar as previsões como um tensor de valores logit |
etiqueta Suavização | Um número no intervalo [0, 1]. Quando 0, nenhuma suavização ocorre. Quando > 0, calcule a perda entre os rótulos previstos e uma versão suavizada dos rótulos verdadeiros, onde a suavização comprime os rótulos em direção a 0,5. Valores maiores de labelSmoothing correspondem a uma suavização mais pesada. |
redução | Tipo de Redução a aplicar à perda. |
public BinaryCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing, Reductionduction )
Cria uma perda de crossentropia binária
Parâmetros
TF | as operações do TensorFlow |
---|---|
nome | o nome da perda |
deLogits | Se deve interpretar as previsões como um tensor de valores logit |
etiqueta Suavização | Um número no intervalo [0, 1]. Quando 0, nenhuma suavização ocorre. Quando > 0, calcule a perda entre os rótulos previstos e uma versão suavizada dos rótulos verdadeiros, onde a suavização comprime os rótulos em direção a 0,5. Valores maiores de labelSmoothing correspondem a uma suavização mais pesada. |
redução | Tipo de Redução a aplicar à perda. |
Lança
IllegalArgumentException | se labelSmoothing não estiver no intervalo inclusivo de 0. - 1. |
---|
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 das 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
IllegalArgumentException | se as previsões estiverem fora do intervalo [0.-1.]. |
---|