SoftmaxCrossEntropyWithLogits

публичный класс SoftmaxCrossEntropyWithLogits

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

Публичные методы

static <T расширяет TNumber , U расширяет TNumber > Операнд <T>
softmaxCrossEntropyWithLogits (область действия , метки операндов <U>, логиты операндов <T>, ось int)
Вычисляет softmax перекрестную энтропию между logits и labels .

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

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

общественный SoftmaxCrossEntropyWithLogits ()

Публичные методы

public static Operand <T> softmaxCrossEntropyWithLogits (область области действия, метки операнда <U>, логиты операнда <T>, ось int)

Вычисляет softmax перекрестную энтропию между logits и labels .

Измеряет вероятностную ошибку в задачах дискретной классификации, в которых классы являются взаимоисключающими (каждая запись относится ровно к одному классу). Например, каждое изображение CIFAR-10 помечено одной и только одной меткой: на изображении может быть собака или грузовик, но не то и другое.

ПРИМЕЧАНИЕ:

Хотя классы являются взаимоисключающими, их вероятности не обязательно должны быть взаимоисключающими. Все, что требуется, — это чтобы каждая строка labels представляла собой допустимое распределение вероятностей. Если это не так, расчет градиента будет неправильным.

Если используются эксклюзивные labels (когда один и только один класс является истинным одновременно), см. ERROR(/org.tensorflow.op.NnOps#sparseSoftmaxCrossEntropyWithLogits)

Использование:

   Operand<TFloat32> logits =
       tf.constant(new float[][] { {4.0F, 2.0F, 1.0F}, {0.0F, 5.0F, 1.0F} } );
   Operand<TFloat32> labels =
       tf.constant(new float[][] { {1.0F, 0.0F, 0.0F}, {0.0F, 0.8F, 0.2F} } );
   Operand<TFloat32> output =
       tf.nn.softmaxCrossEntropyWithLogits(labels, logits, -1);
   // output Shape = [2]
   // dataType = FLOAT (1)
   // values { 0.169846, 0.824745 }
 

Обратное распространение будет происходить как в logits , так и labels . Чтобы запретить обратное распространение ошибки в labels , передайте тензоры меток через tf.stopGradient перед передачей их в эту функцию.

Параметры
объем текущий объем
этикетки Каждый вектор в измерении класса должен содержать допустимое распределение вероятностей, например, в случае, когда метки имеют форму [batch_size, num_classes] , каждая строка labels[i] должна быть допустимым распределением вероятностей.
логиты Активации для каждой метки, обычно линейный выход. Эти энергии активации интерпретируются как ненормированные логарифмические вероятности.
ось Классовое измерение. -1 — последнее измерение.
Возврат
  • потеря перекрестной энтропии softmax. Его тип такой же, как logits , а форма такая же, как у labels за исключением того, что у нее нет последнего измерения labels .