Computes the crossentropy loss between the labels and predictions.
Source:R/losses.R
loss_sparse_categorical_crossentropy.RdUse this crossentropy loss function when there are two or more label
classes. We expect labels to be provided as integers. If you want to
provide labels using one-hot representation, please use
CategoricalCrossentropy loss. There should be # classes floating point
values per feature for y_pred and a single floating point value per
feature for y_true.
In the snippet below, there is a single floating point value per example for
y_true and num_classes floating pointing values per example for
y_pred. The shape of y_true is [batch_size] and the shape of y_pred
is [batch_size, num_classes].
Usage
loss_sparse_categorical_crossentropy(
y_true,
y_pred,
from_logits = FALSE,
ignore_class = NULL,
axis = -1L,
...,
reduction = "sum_over_batch_size",
name = "sparse_categorical_crossentropy",
dtype = NULL
)Arguments
- y_true
Ground truth values.
- y_pred
The predicted values.
- from_logits
Whether
y_predis expected to be a logits tensor. By default, we assume thaty_predencodes a probability distribution.- ignore_class
Optional integer. The ID of a class to be ignored during loss computation. This is useful, for example, in segmentation problems featuring a "void" class (commonly -1 or 255) in segmentation maps. By default (
ignore_class=NULL), all classes are considered.- axis
Defaults to
-1. The dimension along which the entropy is computed.- ...
For forward/backward compatability.
- reduction
Type of reduction to apply to the loss. In almost all cases this should be
"sum_over_batch_size". Supported options are"sum","sum_over_batch_size","mean","mean_with_sample_weight"orNULL."sum"sums the loss,"sum_over_batch_size"and"mean"sum the loss and divide by the sample size, and"mean_with_sample_weight"sums the loss and divides by the sum of the sample weights."none"andNULLperform no aggregation. Defaults to"sum_over_batch_size".- name
Optional name for the loss instance.
- dtype
The dtype of the loss's computations. Defaults to
NULL, which means usingconfig_floatx().config_floatx()is a"float32"unless set to different value (viaconfig_set_floatx()). If akeras$DTypePolicyis provided, then thecompute_dtypewill be utilized.
Examples
y_true <- c(1, 2)
y_pred <- rbind(c(0.05, 0.95, 0), c(0.1, 0.8, 0.1))
loss <- loss_sparse_categorical_crossentropy(y_true, y_pred)
lossy_true <- c(1, 2)
y_pred <- rbind(c(0.05, 0.95, 0), c(0.1, 0.8, 0.1))
# Using 'auto'/'sum_over_batch_size' reduction type.
scce <- loss_sparse_categorical_crossentropy()
scce(op_array(y_true), op_array(y_pred))# 1.177# Calling with 'sample_weight'.
scce(op_array(y_true), op_array(y_pred), sample_weight = op_array(c(0.3, 0.7)))# Using 'sum' reduction type.
scce <- loss_sparse_categorical_crossentropy(reduction="sum")
scce(op_array(y_true), op_array(y_pred))# 2.354# Using 'none' reduction type.
scce <- loss_sparse_categorical_crossentropy(reduction=NULL)
scce(op_array(y_true), op_array(y_pred))# array([0.0513, 2.303], dtype=float32)Usage with the compile() API:
model %>% compile(optimizer = 'sgd',
loss = loss_sparse_categorical_crossentropy())See also
Other losses: Loss() loss_binary_crossentropy() loss_binary_focal_crossentropy() loss_categorical_crossentropy() loss_categorical_focal_crossentropy() loss_categorical_hinge() loss_circle() loss_cosine_similarity() loss_ctc() loss_dice() loss_hinge() loss_huber() loss_kl_divergence() loss_log_cosh() loss_mean_absolute_error() loss_mean_absolute_percentage_error() loss_mean_squared_error() loss_mean_squared_logarithmic_error() loss_poisson() loss_squared_hinge() loss_tversky() metric_binary_crossentropy() metric_binary_focal_crossentropy() metric_categorical_crossentropy() metric_categorical_focal_crossentropy() metric_categorical_hinge() metric_hinge() metric_huber() metric_kl_divergence() metric_log_cosh() metric_mean_absolute_error() metric_mean_absolute_percentage_error() metric_mean_squared_error() metric_mean_squared_logarithmic_error() metric_poisson() metric_sparse_categorical_crossentropy() metric_squared_hinge()