KLDivergence

общественный класс KLDivergence

Вычисляет потерю расхождения Кульбака-Лейблера между метками и прогнозами.

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>
вызов ( Операнд <? расширяет метки TNumber >, прогнозы операнда <T>, операнд <T> sampleWeights)
Генерирует операнд, который вычисляет потери.

Унаследованные методы

Публичные конструкторы

публичный 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.)
Возврат
  • потеря