Вычисляет потерю расхождения Кульбака-Лейблера между метками и прогнозами.
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.) |
Возврат
- потеря