Вычисляет потерю кроссэнтропии между метками и прогнозами.
Используйте эту функцию кроссэнтропийных потерь, когда имеется два или более классов меток. Ожидается, что метки будут предоставлены как целые числа. Если вы хотите предоставить метки с использованием one-hot представления, используйте потерю CategoricalCrossentropy . Должно быть # classes значений с плавающей запятой для каждого объекта для predictions и одно значение с плавающей запятой для каждого объекта для label .
В приведенном ниже фрагменте приведено одно значение с плавающей запятой для каждого примера для labels и # classes значений с плавающей запятой для каждого примера для predictions . Форма labels — [batch_size] , а форма predictions — [batch_size, num_classes] .
Автономное использование:
Operand<TFloat32> labels =
tf.constant(new float[] {1, 2});
Operand<TFloat32> predictions =
tf.constant(new float[][] { {0.05f, 0.95f, 0f}, {0.1f, 0.8f, 0.1f} });
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf);
Operand<TFloat32> result = sparseCCE.call(labels, predictions);
// produces 1.177f
Вызов с выборочным весом:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f});
Operand<TFloat32> result = sparseCCE.call(labels, predictions, sampleWeight);
// produces 0.814f
Использование типа сокращения SUM :
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf, Reduction.SUM);
Operand<TFloat32> result = sparseCCE.call(labels, predictions);
// produces 2.354f
Использование типа сокращения NONE :
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf, Reduction.NONE);
Operand<TFloat32> result = sparseCCE.call(labels, predictions);
// produces [0.0513f, 2.303f]
Константы
| интервал | AXIS_DEFAULT | |
| логическое значение | FROM_LOGITS_DEFAULT |
Унаследованные поля
Публичные конструкторы
Разреженная категориальная кроссэнтропия (Ops tf) Создает потерю SparseCategoricalCrossentropy, используя getSimpleName() в качестве имени потери, Loss Reduction REDUCTION_DEFAULT и fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, имя строки) Создает потерю SparseCategoricalCrossentropy с использованием уменьшения потерь REDUCTION_DEFAULT и fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, сокращение сокращения ) Создает потерю SparseCategoricalCrossentropy, используя getSimpleName() в качестве имени потери, с Reduction.AUTO и fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, имя строки, уменьшение сокращения ) Создает потерю SparseCategoricalCrossentropy с помощью Reduction.AUTO и fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, имя строки, логическое значение fromLogits) Создает SparseCategoricalCrossentropy с использованием уменьшения потерь REDUCTION_DEFAULT и fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, логическое значение fromLogits) Создает потерю SparseCategoricalCrossentropy, используя getSimpleName() в качестве имени потери, Loss Reduction REDUCTION_DEFAULT и fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, логическое значение fromLogits, уменьшение сокращения ) Создает потерю SparseCategoricalCrossentropy, используя getSimpleName() в качестве имени потери. | |
SparseCategoricalCrossentropy (Ops tf, имя строки, логическое значение fromLogits, уменьшение сокращения , ось int) Создает SparseCategoricalCrossentropy. |
Публичные методы
| <T расширяет TNumber > Операнд <T> |
Унаследованные методы
Константы
общедоступный статический окончательный int AXIS_DEFAULT
общедоступное статическое окончательное логическое значение FROM_LOGITS_DEFAULT
Публичные конструкторы
общедоступная SparseCategoricalCrossentropy (Ops TF)
Создает потерю SparseCategoricalCrossentropy, используя getSimpleName() в качестве имени потери, Loss Reduction REDUCTION_DEFAULT и fromLogits= FROM_LOGITS_DEFAULT .
Параметры
| ТС | Операции TensorFlow |
|---|
public SparseCategoricalCrossentropy (Ops tf, имя строки)
Создает потерю SparseCategoricalCrossentropy с использованием уменьшения потерь REDUCTION_DEFAULT и fromLogits= FROM_LOGITS_DEFAULT .
Параметры
| ТС | Операции TensorFlow |
|---|---|
| имя | название этой функции потерь |
public SparseCategoricalCrossentropy (Ops tf, Reduction Reduction)
Создает потерю SparseCategoricalCrossentropy, используя getSimpleName() в качестве имени потери, с Reduction.AUTO и fromLogits= FROM_LOGITS_DEFAULT .
Параметры
| ТС | Операции TensorFlow |
|---|---|
| снижение | Тип уменьшения, применяемого к убытку. |
public SparseCategoricalCrossentropy (Ops tf, имя строки, сокращение сокращения )
Создает потерю SparseCategoricalCrossentropy с помощью Reduction.AUTO и fromLogits= FROM_LOGITS_DEFAULT .
Параметры
| ТС | Операции TensorFlow |
|---|---|
| имя | название этой функции потерь |
| снижение | Тип уменьшения, применяемого к убытку. |
public SparseCategoricalCrossentropy (Ops tf, имя строки, логическое значение fromLogits)
Создает SparseCategoricalCrossentropy с использованием уменьшения потерь REDUCTION_DEFAULT и fromLogits= FROM_LOGITS_DEFAULT .
Параметры
| ТС | Операции TensorFlow |
|---|---|
| имя | название этой функции потерь |
| fromLogits | Следует ли интерпретировать прогнозы как тензор логит-значений |
public SparseCategoricalCrossentropy (Ops tf, логическое значение fromLogits)
Создает потерю SparseCategoricalCrossentropy, используя getSimpleName() в качестве имени потери, Loss Reduction REDUCTION_DEFAULT и fromLogits= FROM_LOGITS_DEFAULT .
Параметры
| ТС | Операции TensorFlow |
|---|---|
| fromLogits | Следует ли интерпретировать прогнозы как тензор логит-значений |
public SparseCategoricalCrossentropy (Ops tf, логическое значение fromLogits, сокращение сокращения)
Создает потерю SparseCategoricalCrossentropy, используя getSimpleName() в качестве имени потери.
Параметры
| ТС | Операции TensorFlow |
|---|---|
| fromLogits | Следует ли интерпретировать прогнозы как тензор логит-значений |
| снижение | Тип уменьшения, применяемого к убытку. |
public SparseCategoricalCrossentropy (Ops tf, имя строки, логическое значение fromLogits, сокращение сокращения , ось int)
Создает SparseCategoricalCrossentropy.
Параметры
| ТС | Операции TensorFlow |
|---|---|
| имя | название этой функции потерь |
| fromLogits | Следует ли интерпретировать прогнозы как тензор логит-значений |
| снижение | Тип уменьшения, применяемого к убытку. |
| ось | Ось каналов. axis=-1 соответствует формату данных «Последние каналы», а axis=1 соответствует формату данных «Первые каналы». |
Публичные методы
общедоступный вызов операнда <T> ( Операнд <? расширяет метки TNumber >, прогнозы операнда <T>, операнд <T> sampleWeights)
Генерирует операнд для расчета потерь.
При запуске в режиме графика вычисление выдаст исключение TFInvalidArgumentException если значения прогнозов выходят за пределы диапазона o [0. до 1.]. В режиме Eager этот вызов выдаст IllegalArgumentException , если значения прогнозов выходят за пределы диапазона o [0. до 1.]
Параметры
| этикетки | значения истинности или метки |
|---|---|
| предсказания | прогнозы, значения должны находиться в диапазоне [0. до 1.] включительно. |
| образецВес | Дополнительный SampleWeights действует как коэффициент потерь. Если указан скаляр, то потери просто масштабируются по заданному значению. Если SampleWeights — это тензор размера [batch_size], то общие потери для каждой выборки пакета масштабируются соответствующим элементом вектора SampleWeights. Если форма SampleWeights равна [batch_size, d0, .. dN-1] (или может быть передана в эту форму), то каждый элемент потерь прогнозов масштабируется соответствующим значением SampleWeights. (Примечание к dN-1: все функции потерь уменьшаются на 1 измерение, обычно ось = -1.) |
Возврат
- потеря
Броски
| IllegalArgumentException | если прогнозы выходят за пределы диапазона [0.-1.]. |
|---|