loss_categorical_crossentropy {keras3} | R Documentation |
Computes the crossentropy loss between the labels and predictions.
Description
Use this crossentropy loss function when there are two or more label
classes. We expect labels to be provided in a one_hot
representation. If
you want to provide labels as integers, please use
SparseCategoricalCrossentropy
loss. There should be num_classes
floating
point values per feature, i.e., the shape of both y_pred
and y_true
are
[batch_size, num_classes]
.
Usage
loss_categorical_crossentropy(
y_true,
y_pred,
from_logits = FALSE,
label_smoothing = 0,
axis = -1L,
...,
reduction = "sum_over_batch_size",
name = "categorical_crossentropy",
dtype = NULL
)
Arguments
y_true |
Tensor of one-hot true targets. |
y_pred |
Tensor of predicted targets. |
from_logits |
Whether |
label_smoothing |
Float in |
axis |
The axis along which to compute crossentropy (the features
axis). Defaults to |
... |
For forward/backward compatability. |
reduction |
Type of reduction to apply to the loss. In almost all cases
this should be |
name |
Optional name for the loss instance. |
dtype |
The dtype of the loss's computations. Defaults to |
Value
Categorical crossentropy loss value.
Examples
y_true <- rbind(c(0, 1, 0), c(0, 0, 1)) y_pred <- rbind(c(0.05, 0.95, 0), c(0.1, 0.8, 0.1)) loss <- loss_categorical_crossentropy(y_true, y_pred) loss
## tf.Tensor([0.05129329 2.30258509], shape=(2), dtype=float64)
Standalone usage:
y_true <- rbind(c(0, 1, 0), c(0, 0, 1)) y_pred <- rbind(c(0.05, 0.95, 0), c(0.1, 0.8, 0.1)) # Using 'auto'/'sum_over_batch_size' reduction type. cce <- loss_categorical_crossentropy() cce(y_true, y_pred)
## tf.Tensor(1.1769392, shape=(), dtype=float32)
# Calling with 'sample_weight'. cce(y_true, y_pred, sample_weight = op_array(c(0.3, 0.7)))
## tf.Tensor(0.8135988, shape=(), dtype=float32)
# Using 'sum' reduction type. cce <- loss_categorical_crossentropy(reduction = "sum") cce(y_true, y_pred)
## tf.Tensor(2.3538785, shape=(), dtype=float32)
# Using 'none' reduction type. cce <- loss_categorical_crossentropy(reduction = NULL) cce(y_true, y_pred)
## tf.Tensor([0.05129331 2.3025851 ], shape=(2), dtype=float32)
Usage with the compile()
API:
model %>% compile(optimizer = 'sgd', loss=loss_categorical_crossentropy())
See Also
Other losses:
Loss()
loss_binary_crossentropy()
loss_binary_focal_crossentropy()
loss_categorical_focal_crossentropy()
loss_categorical_hinge()
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_sparse_categorical_crossentropy()
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()