Measures the probability error in discrete classification tasks in which the
classes are mutually exclusive (each entry is in exactly one class). For
example, each CIFAR-10 image is labeled with one and only one label: an image
can be a dog or a truck, but not both.
A common use case is to have logits of shape
[batch_size, num_classes] and have labels of shape
[batch_size], but higher dimensions are supported, in which
case the dim-th dimension is assumed to be of size num_classes.
logits must have the dtype of float16, float32, or float64, and
labels must have the dtype of int32 or int64.
Note that to avoid confusion, it is required to pass only named arguments to
this function.
Args
labels
Tensor of shape [d_0, d_1, ..., d_{r-1}] (where r is rank of
labels and result) and dtype int32 or int64. Each entry in labels
must be an index in [0, num_classes). Other values will raise an
exception when this op is run on CPU, and return NaN for corresponding
loss and gradient rows on GPU.
logits
Unscaled log probabilities of shape [d_0, d_1, ..., d_{r-1},
num_classes] and dtype float16, float32, or float64.
name
A name for the operation (optional).
Returns
A Tensor of the same shape as labels and of the same type as logits
with the softmax cross entropy loss.
Raises
ValueError
If logits are scalars (need to have rank >= 1) or if the rank
of the labels is not equal to the rank of the logits minus one.