Вычисляет потерю расхождения Кульбака-Лейблера между метками и прогнозами.
loss = labels * log(labels / predictions)
Автономное использование:
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
Вызов с выборочным весом:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.8f, 0.2f}); Operand<TFloat32> result = kld.call(labels, predictions, sampleWeight); // produces 0.366f
Использование типа сокращения SUM
:
KLDivergence kld = new KLDivergence(tf, Reduction.SUM); Operand<TFloat32> result = kld.call(labels, predictions); // produces 0.916f
Использование типа сокращения NONE
:
KLDivergence kld = new KLDivergence(tf, Reduction.NONE); Operand<TFloat32> result = kld.call(labels, predictions); // produces [0.916f, -3.08e-06f]
См. также
Унаследованные поля
Публичные конструкторы
KLDivergence (Ops TF) Создает потерю дивергенции Кульбака-Лейблера, используя getSimpleName() в качестве имени потери и уменьшение потерь REDUCTION_DEFAULT | |
KLDivergence (Ops tf, сокращение сокращения ) Создает потерю потери дивергенции Кульбака-Лейблера, используя getSimpleName() в качестве имени потери. | |
KLDivergence (Ops tf, имя строки, уменьшение сокращения ) Создает потерю дивергенции Кульбака-Лейблера |
Публичные методы
<T расширяет TNumber > Операнд <T> |
Унаследованные методы
Публичные конструкторы
публичный KLDivergence (Ops TF)
Создает потерю дивергенции Кульбака-Лейблера, используя getSimpleName()
в качестве имени потери и уменьшение потерь REDUCTION_DEFAULT
Параметры
ТС | Операции TensorFlow |
---|
общественный KLDivergence (Ops TF, Reduction Reduction)
Создает потерю потери дивергенции Кульбака-Лейблера, используя getSimpleName()
в качестве имени потери.
Параметры
ТС | Операции TensorFlow |
---|---|
снижение | Тип уменьшения, применяемого к убытку. |
public KLDivergence (Ops tf, имя строки, сокращение сокращения )
Создает потерю дивергенции Кульбака-Лейблера
Параметры
ТС | Операции TensorFlow |
---|---|
имя | название потери |
снижение | Тип уменьшения, применяемого к убытку. |
Публичные методы
общедоступный вызов операнда <T> ( Операнд <? расширяет метки TNumber >, прогнозы операнда <T>, операнд <T> sampleWeights)
Генерирует операнд, который вычисляет потери.
Параметры
этикетки | значения истинности или метки |
---|---|
предсказания | предсказания |
образецВес | Необязательный sampleWeights действует как коэффициент потерь. Если указан скаляр, то потери просто масштабируются по заданному значению. Если SampleWeights — это тензор размера [batch_size], то общие потери для каждой выборки пакета масштабируются соответствующим элементом вектора SampleWeights. Если форма SampleWeights равна [batch_size, d0, .. dN-1] (или может быть передана в эту форму), то каждый элемент потерь прогнозов масштабируется соответствующим значением SampleWeights. (Примечание к dN-1: все функции потерь уменьшаются на 1 измерение, обычно ось = -1.) |
Возврат
- потеря