Calcula a perda de Huber entre rótulos e previsões.
Para cada valor x em error = labels - predictions
:
loss = 0.5 * x^2 if |x| <= d loss = 0.5 * d^2 + d * (|x| - d) if |x| > d
onde d é delta.
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} }); Huber huberLoss = new Huber(tf); Operand<TFloat32> result = huberLoss.call(labels, predictions); // produces 0.155
Chamando com peso amostral:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {1.f, 0.f}); Operand<TFloat32> result = huberLoss.call(labels, predictions, sampleWeight); // produces 0.09f
Usando o tipo de redução SUM
:
Huber huberLoss = new Huber(tf, Reduction.SUM); Operand<TFloat32> result = huberLoss.call(labels, predictions); // produces 0.32f
Usando o tipo de redução NONE
:
Huber huberLoss = new Huber(tf, Reduction.NONE); Operand<TFloat32> result = huberLoss.call(labels, predictions); // produces [0.18f, 0.13f]
Veja também
Constantes
flutuador | DELTA_DEFAULT |
Campos Herdados
Construtores Públicos
Huber (operações TF) Cria uma perda Huber usando getSimpleName() como o nome da perda, DELTA_DEFAULT como o delta e uma redução de perda de REDUCTION_DEFAULT | |
Huber (Ops tf, nome da string) Cria uma perda de Huber usando DELTA_DEFAULT como delta e uma redução de perda de REDUCTION_DEFAULT | |
Huber (Ops tf, redução de redução ) Cria uma perda Huber usando getSimpleName() como o nome da perda e DELTA_DEFAULT como o delta | |
Huber (Ops tf, nome da string, redução de redução ) Cria uma perda de Huber usando DELTA_DEFAULT como delta | |
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
flutuador final estático público DELTA_DEFAULT
Construtores Públicos
público Huber (Ops tf)
Cria uma perda Huber usando getSimpleName()
como o nome da perda, DELTA_DEFAULT
como o delta e uma redução de perda de REDUCTION_DEFAULT
Parâmetros
TF | as operações do TensorFlow |
---|
Huber público (Ops tf, nome da string)
Cria uma perda de Huber usando DELTA_DEFAULT
como delta e uma redução de perda de REDUCTION_DEFAULT
Parâmetros
TF | as operações do TensorFlow |
---|---|
nome | o nome da perda, se for nulo, getSimpleName() será usado. |
público Huber (Ops tf, redução de redução )
Cria uma perda de Huber usando getSimpleName()
como o nome da perda e DELTA_DEFAULT
como o delta
Parâmetros
TF | as operações do TensorFlow |
---|---|
redução | Tipo de Redução a aplicar à perda. |
public Huber (Ops tf, nome da string, redução de redução )
Cria uma perda de Huber usando DELTA_DEFAULT
como delta
Parâmetros
TF | as operações do TensorFlow |
---|---|
nome | o nome da perda, se for nulo, getSimpleName() será usado. |
redução | Tipo de Redução a aplicar à perda. |
public Huber (Ops tf, nome da string, float delta, redução de redução )
Cria uma perda de Huber
Parâmetros
TF | as operações do TensorFlow |
---|---|
nome | o nome da perda, se for nulo, getSimpleName() será usado. |
delta | o ponto onde a função de perda de Huber muda de quadrática para linear. |
redução | Tipo de Redução a aplicar à perda. |
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.
Parâmetros
rótulos | os valores de verdade ou rótulos |
---|---|
previsões | as previsões |
pesos de amostra | 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], 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