Class CategoricalCrossentropy
Defined in tensorflow/python/keras/losses.py
.
Computes categorical cross entropy loss between the y_true
and y_pred
.
Usage:
cce = tf.keras.losses.CategoricalCrossentropy()
loss = cce(
[[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]],
[[.9, .05, .05], [.5, .89, .6], [.05, .01, .94]])
print('Loss: ', loss.numpy()) # Loss: 0.3239
Usage with tf.keras API:
model = keras.models.Model(inputs, outputs)
model.compile('sgd', loss=tf.keras.losses.CategoricalCrossentropy())
````
#### Args:
* <b>`from_logits`</b>: Whether `output` is expected to be a logits tensor. By default,
we consider that `output` encodes a probability distribution.
* <b>`label_smoothing`</b>: If greater than `0` then smooth the labels. This option is
currently not supported when `y_pred` is a sparse input (not one-hot).
* <b>`reduction`</b>: Type of <a href="../../../tf/losses/Reduction"><code>tf.losses.Reduction</code></a> to apply to loss. Default value is
`SUM_OVER_BATCH_SIZE`.
* <b>`name`</b>: Optional name for the op.
<h2 id="__init__"><code>__init__</code></h2>
``` python
__init__(
from_logits=False,
label_smoothing=0,
reduction=losses_impl.ReductionV2.SUM_OVER_BATCH_SIZE,
name=None
)
Initialize self. See help(type(self)) for accurate signature.
Methods
tf.keras.losses.CategoricalCrossentropy.__call__
__call__(
y_true,
y_pred,
sample_weight=None
)
Invokes the Loss
instance.
Args:
y_true
: Ground truth values.y_pred
: The predicted values.sample_weight
: OptionalTensor
whose rank is either 0, or the same rank asy_true
, or is broadcastable toy_true
.sample_weight
acts as a coefficient for the loss. If a scalar is provided, then the loss is simply scaled by the given value. Ifsample_weight
is a tensor of size[batch_size]
, then the total loss for each sample of the batch is rescaled by the corresponding element in thesample_weight
vector. If the shape ofsample_weight
matches the shape ofy_pred
, then the loss of each measurable element ofy_pred
is scaled by the corresponding value ofsample_weight
.
Returns:
Weighted loss float Tensor
. If reduction
is NONE
, this has the same
shape as y_true
; otherwise, it is scalar.
Raises:
ValueError
: If the shape ofsample_weight
is invalid.
tf.keras.losses.CategoricalCrossentropy.call
call(
y_true,
y_pred
)
Invokes the CategoricalCrossentropy
instance.
Args:
y_true
: Ground truth values.y_pred
: The predicted values.
Returns:
Categorical cross entropy losses.
tf.keras.losses.CategoricalCrossentropy.from_config
from_config(
cls,
config
)
Instantiates a Loss
from its config (output of get_config()
).
Args:
config
: Output ofget_config()
.
Returns:
A Loss
instance.
tf.keras.losses.CategoricalCrossentropy.get_config
get_config()