Oblicza utratę dywergencji Kullbacka-Leiblera pomiędzy etykietami i przewidywaniami.
loss = labels * log(labels / predictions)
Samodzielne użycie:
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} });
KLDivergence kld = new KLDivergence(tf);
Operand<TFloat32> result = kld.call(labels, predictions);
// produces 0.458
Wywołanie z wagą próbki:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.8f, 0.2f});
Operand<TFloat32> result = kld.call(labels, predictions, sampleWeight);
// produces 0.366f
Używanie typu redukcji SUM :
KLDivergence kld = new KLDivergence(tf, Reduction.SUM);
Operand<TFloat32> result = kld.call(labels, predictions);
// produces 0.916f
Używanie typu redukcji NONE :
KLDivergence kld = new KLDivergence(tf, Reduction.NONE);
Operand<TFloat32> result = kld.call(labels, predictions);
// produces [0.916f, -3.08e-06f]
Zobacz także
Dziedziczone pola
Konstruktorzy publiczni
KLDRozbieżność (Ops tf) Tworzy stratę dywergencyjną Kullbacka Leiblera, używając getSimpleName() jako nazwy straty i redukcji straty wynoszącej REDUCTION_DEFAULT | |
KLDrozbieżność (Ops tf, redukcja redukcji ) Tworzy stratę dywergencji Kullbacka Leiblera, używając getSimpleName() jako nazwy straty | |
KLD Rozbieżność (Ops tf, nazwa ciągu, redukcja redukcji ) Tworzy stratę dywergencji Kullbacka Leiblera |
Metody publiczne
| <T rozszerza numer T > Operand <T> |
Metody dziedziczone
Konstruktorzy publiczni
publiczna rozbieżność KLD (Ops tf)
Tworzy stratę dywergencyjną Kullbacka Leiblera, używając getSimpleName() jako nazwy straty i redukcji straty wynoszącej REDUCTION_DEFAULT
Parametry
| tf | operacji TensorFlow |
|---|
publiczna rozbieżność KLD (Ops tf, redukcja redukcji )
Tworzy stratę dywergencji Kullbacka Leiblera, używając getSimpleName() jako nazwy straty
Parametry
| tf | operacji TensorFlow |
|---|---|
| zmniejszenie | Rodzaj obniżki stosowanej w przypadku straty. |
public KLDivergence (Ops tf, nazwa ciągu, redukcja redukcji )
Tworzy stratę dywergencji Kullbacka Leiblera
Parametry
| tf | operacji TensorFlow |
|---|---|
| nazwa | nazwa straty |
| zmniejszenie | Rodzaj obniżki stosowanej w przypadku straty. |
Metody publiczne
publiczne wywołanie argumentu <T> ( operand <? rozszerza TNumber > etykiety, przewidywania argumentu <T>, argumentu <T> próbkiWagi)
Generuje operand, który oblicza stratę.
Parametry
| etykiety | wartości prawdy lub etykiety |
|---|---|
| prognozy | przewidywania |
| próbkiWagi | Opcjonalne próbkiWeights działają jako współczynnik straty. Jeśli podany jest skalar, strata jest po prostu skalowana według podanej wartości. Jeśli SampleWeights jest tensorem rozmiaru [batch_size], wówczas całkowita strata dla każdej próbki w partii jest przeskalowana przez odpowiedni element wektora SampleWeights. Jeśli kształt SampleWeights wynosi [batch_size, d0, .. dN-1] (lub może być nadawany do tego kształtu), wówczas każdy element przewidywanej straty jest skalowany przez odpowiednią wartość SampleWeights. (Uwaga do dN-1: wszystkie funkcje straty zmniejszają się o 1 wymiar, zwykle oś=-1.) |
Powroty
- strata