SoftmaxCrossEntropyLoss#
Domain:
ai.onnxSince version: 13
Loss function that measures the softmax cross entropy between ‘scores’ and ‘labels’. This operator first computes a loss tensor whose shape is identical to the labels input. If the input is 2-D with shape (N, C), the loss tensor may be a N-element vector L = (l_1, l_2, …, l_N). If the input is N-D tensor with shape (N, C, D1, D2, …, Dk), the loss tensor L may have (N, D1, D2, …, Dk) as its shape and L[i,][j_1][j_2]…[j_k] denotes a scalar element in L. After L is available, this operator can optionally do a reduction operator.
shape(scores): (N, C) where C is the number of classes, or (N, C, D1, D2,…, Dk), with K >= 1 in case of K-dimensional loss.
shape(labels): (N) where each value is 0 = 1 in case of K-dimensional loss.
The loss for one sample, l_i, can calculated as follows:
l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk], where i is the index of classes.
or
l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk] * weights[c], if 'weights' is provided.
loss is zero for the case when label-value equals ignore_index.
l[i][d1][d2]...[dk] = 0, when labels[n][d1][d2]...[dk] = ignore_index
where:
p = Softmax(scores)
y = Log(p)
c = labels[i][d1][d2]...[dk]
Finally, L is optionally reduced:
If reduction = ‘none’, the output is L with shape (N, D1, D2, …, Dk).
If reduction = ‘sum’, the output is scalar: Sum(L).
If reduction = ‘mean’, the output is scalar: ReduceMean(L), or if weight is provided:
ReduceSum(L) / ReduceSum(W), where tensor W is of shape(N, D1, D2, ..., Dk)andW[n][d1][d2]...[dk] = weights[labels[i][d1][d2]...[dk]].
Inputs
scores (T): The predicted outputs with shape [batch_size, class_size], or [batch_size, class_size, D1, D2 , …, Dk], where K is the number of dimensions.
labels (Tind): The ground truth output tensor, with shape [batch_size], or [batch_size, D1, D2, …, Dk], where K is the number of dimensions. Labels element value shall be in range of [0, C). If ignore_index is specified, it may have a value outside [0, C) and the label values should either be in the range [0, C) or have the value ignore_index.
weights (T): A manual rescaling weight given to each class. If given, it has to be a 1D Tensor assigning weight to each of the classes. Otherwise, it is treated as if having all ones.
Outputs
output (T): Weighted loss float Tensor. If reduction is ‘none’, this has the shape of [batch_size], or [batch_size, D1, D2, …, Dk] in case of K-dimensional loss. Otherwise, it is a scalar.
log_prob (T): Log probability tensor. If the output of softmax is prob, its value is log(prob).
Attributes
ignore_index (int): Specifies a target value that is ignored and does not contribute to the input gradient. It’s an optional value.
reduction (string): Type of reduction to apply to loss: none, sum, mean(default). ‘none’: no reduction will be applied, ‘sum’: the output will be summed. ‘mean’: the sum of the output will be divided by the number of elements in the output.
Type Constraints
T: Constrain input and output types to float tensors. Allowed types: tensor(bfloat16), tensor(double), tensor(float), tensor(float16).
Tind: Constrain target to integer types Allowed types: tensor(int32), tensor(int64).
Examples#
test_cc_sce_NCd1_mean_weight_negative_ii
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss)
Attributes:
reduction = "mean"
ignore_index = -1
Inputs:
scores: shape=(3, 5, 2), dtype=float32
[[[-4.0000001e-01, -3.0000001e-01],
[-2.0000002e-01, -1.0000002e-01],
[-1.4901161e-08, 9.9999987e-02],
[ 1.9999999e-01, 2.9999998e-01],
[ 3.9999998e-01, 4.9999997e-01]],
[[ 5.9999996e-01, 6.9999999e-01],
[ 8.0000001e-01, 9.0000004e-01],
[ 1.0000000e+00, 1.1000000e+00],
[ 1.2000000e+00, 1.3000001e+00],
[ 1.4000001e+00, -4.0000001e-01]],
[[-3.0000001e-01, -2.0000002e-01],
[-1.0000002e-01, -1.4901161e-08],
[ 9.9999987e-02, 1.9999999e-01],
[ 2.9999998e-01, 3.9999998e-01],
[ 4.9999997e-01, 5.9999996e-01]]]
labels: shape=(3, 2), dtype=int64
[[0, 1],
[2, 3],
[4, 0]]
weights: shape=(5,), dtype=float32
[0.2, 0.3, 0.6, 0.1, 0.5]
Outputs:
loss: shape=(), dtype=float32
1.6343838
test_cc_sce_NCd1_mean_weight_negative_ii_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss, log_prob)
Attributes:
reduction = "mean"
ignore_index = -1
Inputs:
scores: shape=(3, 5, 2), dtype=float32
[[[-4.0000001e-01, -3.0000001e-01],
[-2.0000002e-01, -1.0000002e-01],
[-1.4901161e-08, 9.9999987e-02],
[ 1.9999999e-01, 2.9999998e-01],
[ 3.9999998e-01, 4.9999997e-01]],
[[ 5.9999996e-01, 6.9999999e-01],
[ 8.0000001e-01, 9.0000004e-01],
[ 1.0000000e+00, 1.1000000e+00],
[ 1.2000000e+00, 1.3000001e+00],
[ 1.4000001e+00, -4.0000001e-01]],
[[-3.0000001e-01, -2.0000002e-01],
[-1.0000002e-01, -1.4901161e-08],
[ 9.9999987e-02, 1.9999999e-01],
[ 2.9999998e-01, 3.9999998e-01],
[ 4.9999997e-01, 5.9999996e-01]]]
labels: shape=(3, 2), dtype=int64
[[0, 1],
[2, 3],
[4, 0]]
weights: shape=(5,), dtype=float32
[0.2, 0.3, 0.6, 0.1, 0.5]
Outputs:
loss: shape=(), dtype=float32
1.6343838
log_prob: shape=(3, 5, 2), dtype=float32
[[[-2.0490966, -2.0490966],
[-1.8490967, -1.8490965],
[-1.6490966, -1.6490966],
[-1.4490967, -1.4490967],
[-1.2490966, -1.2490966]],
[[-2.0490968, -1.769551 ],
[-1.8490968, -1.569551 ],
[-1.6490967, -1.369551 ],
[-1.4490967, -1.1695509],
[-1.2490966, -2.869551 ]],
[[-2.0490966, -2.0490966],
[-1.8490965, -1.8490965],
[-1.6490966, -1.6490966],
[-1.4490967, -1.4490967],
[-1.2490966, -1.2490966]]]
test_cc_sce_NCd1d2d3_none_no_weight_negative_ii
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss)
Attributes:
reduction = "none"
ignore_index = -5
Inputs:
scores: shape=(2, 4, 2, 2, 2), dtype=float32
[[[[[-0.5 , -0.375],
[-0.25 , -0.125]],
[[ 0. , 0.125],
[ 0.25 , 0.375]]],
[[[ 0.5 , 0.625],
[ 0.75 , 0.875]],
[[ 1. , 1.125],
[ 1.25 , 1.375]]],
[[[ 1.5 , -0.5 ],
[-0.375, -0.25 ]],
[[-0.125, 0. ],
[ 0.125, 0.25 ]]],
[[[ 0.375, 0.5 ],
[ 0.625, 0.75 ]],
[[ 0.875, 1. ],
[ 1.125, 1.25 ]]]],
[[[[ 1.375, 1.5 ],
[-0.5 , -0.375]],
[[-0.25 , -0.125],
[ 0. , 0.125]]],
[[[ 0.25 , 0.375],
[ 0.5 , 0.625]],
[[ 0.75 , 0.875],
[ 1. , 1.125]]],
[[[ 1.25 , 1.375],
[ 1.5 , -0.5 ]],
[[-0.375, -0.25 ],
[-0.125, 0. ]]],
[[[ 0.125, 0.25 ],
[ 0.375, 0.5 ]],
[[ 0.625, 0.75 ],
[ 0.875, 1. ]]]]]
labels: shape=(2, 2, 2, 2), dtype=int64
[[[[0, 1],
[2, 3]],
[[0, 1],
[2, 3]]],
[[[0, 1],
[2, 3]],
[[0, 1],
[2, 3]]]]
Outputs:
loss: shape=(2, 2, 2, 2), dtype=float32
[[[[2.60315 , 0.9458607],
[2.0708606, 1.0708606]],
[[1.9458606, 0.9458607],
[2.0708606, 1.0708606]]],
[[[0.9137491, 2.0387492],
[0.6031498, 1.0708606]],
[[1.9458606, 0.9458607],
[2.0708606, 1.0708606]]]]
test_cc_sce_NCd1d2d3_none_no_weight_negative_ii_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss, log_prob)
Attributes:
reduction = "none"
ignore_index = -5
Inputs:
scores: shape=(2, 4, 2, 2, 2), dtype=float32
[[[[[-0.5 , -0.375],
[-0.25 , -0.125]],
[[ 0. , 0.125],
[ 0.25 , 0.375]]],
[[[ 0.5 , 0.625],
[ 0.75 , 0.875]],
[[ 1. , 1.125],
[ 1.25 , 1.375]]],
[[[ 1.5 , -0.5 ],
[-0.375, -0.25 ]],
[[-0.125, 0. ],
[ 0.125, 0.25 ]]],
[[[ 0.375, 0.5 ],
[ 0.625, 0.75 ]],
[[ 0.875, 1. ],
[ 1.125, 1.25 ]]]],
[[[[ 1.375, 1.5 ],
[-0.5 , -0.375]],
[[-0.25 , -0.125],
[ 0. , 0.125]]],
[[[ 0.25 , 0.375],
[ 0.5 , 0.625]],
[[ 0.75 , 0.875],
[ 1. , 1.125]]],
[[[ 1.25 , 1.375],
[ 1.5 , -0.5 ]],
[[-0.375, -0.25 ],
[-0.125, 0. ]]],
[[[ 0.125, 0.25 ],
[ 0.375, 0.5 ]],
[[ 0.625, 0.75 ],
[ 0.875, 1. ]]]]]
labels: shape=(2, 2, 2, 2), dtype=int64
[[[[0, 1],
[2, 3]],
[[0, 1],
[2, 3]]],
[[[0, 1],
[2, 3]],
[[0, 1],
[2, 3]]]]
Outputs:
loss: shape=(2, 2, 2, 2), dtype=float32
[[[[2.60315 , 0.9458607],
[2.0708606, 1.0708606]],
[[1.9458606, 0.9458607],
[2.0708606, 1.0708606]]],
[[[0.9137491, 2.0387492],
[0.6031498, 1.0708606]],
[[1.9458606, 0.9458607],
[2.0708606, 1.0708606]]]]
log_prob: shape=(2, 4, 2, 2, 2), dtype=float32
[[[[[-2.60315 , -1.9458606],
[-1.9458606, -1.9458606]],
[[-1.9458606, -1.9458606],
[-1.9458606, -1.9458606]]],
[[[-1.6031498, -0.9458607],
[-0.9458607, -0.9458607]],
[[-0.9458607, -0.9458607],
[-0.9458607, -0.9458607]]],
[[[-0.6031498, -2.0708606],
[-2.0708606, -2.0708606]],
[[-2.0708606, -2.0708606],
[-2.0708606, -2.0708606]]],
[[[-1.7281498, -1.0708606],
[-1.0708606, -1.0708606]],
[[-1.0708606, -1.0708606],
[-1.0708606, -1.0708606]]]],
[[[[-0.9137491, -0.9137491],
[-2.60315 , -1.9458606]],
[[-1.9458606, -1.9458606],
[-1.9458606, -1.9458606]]],
[[[-2.0387492, -2.0387492],
[-1.6031498, -0.9458607]],
[[-0.9458607, -0.9458607],
[-0.9458607, -0.9458607]]],
[[[-1.0387491, -1.0387491],
[-0.6031498, -2.0708606]],
[[-2.0708606, -2.0708606],
[-2.0708606, -2.0708606]]],
[[[-2.1637492, -2.1637492],
[-1.7281498, -1.0708606]],
[[-1.0708606, -1.0708606],
[-1.0708606, -1.0708606]]]]]
test_cc_sce_NCd1d2d3_sum_weight_high_ii
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss)
Attributes:
reduction = "sum"
ignore_index = 4
Inputs:
scores: shape=(2, 4, 2, 2, 2), dtype=float32
[[[[[-0.5 , -0.375],
[-0.25 , -0.125]],
[[ 0. , 0.125],
[ 0.25 , 0.375]]],
[[[ 0.5 , 0.625],
[ 0.75 , 0.875]],
[[ 1. , 1.125],
[ 1.25 , 1.375]]],
[[[ 1.5 , -0.5 ],
[-0.375, -0.25 ]],
[[-0.125, 0. ],
[ 0.125, 0.25 ]]],
[[[ 0.375, 0.5 ],
[ 0.625, 0.75 ]],
[[ 0.875, 1. ],
[ 1.125, 1.25 ]]]],
[[[[ 1.375, 1.5 ],
[-0.5 , -0.375]],
[[-0.25 , -0.125],
[ 0. , 0.125]]],
[[[ 0.25 , 0.375],
[ 0.5 , 0.625]],
[[ 0.75 , 0.875],
[ 1. , 1.125]]],
[[[ 1.25 , 1.375],
[ 1.5 , -0.5 ]],
[[-0.375, -0.25 ],
[-0.125, 0. ]]],
[[[ 0.125, 0.25 ],
[ 0.375, 0.5 ]],
[[ 0.625, 0.75 ],
[ 0.875, 1. ]]]]]
labels: shape=(2, 2, 2, 2), dtype=int64
[[[[0, 1],
[2, 3]],
[[0, 1],
[2, 3]]],
[[[0, 1],
[2, 3]],
[[0, 1],
[2, 3]]]]
weights: shape=(4,), dtype=float32
[0.2, 0.3, 0.6, 0.1]
Outputs:
loss: shape=(), dtype=float32
7.462407
test_cc_sce_NCd1d2d3_sum_weight_high_ii_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss, log_prob)
Attributes:
reduction = "sum"
ignore_index = 4
Inputs:
scores: shape=(2, 4, 2, 2, 2), dtype=float32
[[[[[-0.5 , -0.375],
[-0.25 , -0.125]],
[[ 0. , 0.125],
[ 0.25 , 0.375]]],
[[[ 0.5 , 0.625],
[ 0.75 , 0.875]],
[[ 1. , 1.125],
[ 1.25 , 1.375]]],
[[[ 1.5 , -0.5 ],
[-0.375, -0.25 ]],
[[-0.125, 0. ],
[ 0.125, 0.25 ]]],
[[[ 0.375, 0.5 ],
[ 0.625, 0.75 ]],
[[ 0.875, 1. ],
[ 1.125, 1.25 ]]]],
[[[[ 1.375, 1.5 ],
[-0.5 , -0.375]],
[[-0.25 , -0.125],
[ 0. , 0.125]]],
[[[ 0.25 , 0.375],
[ 0.5 , 0.625]],
[[ 0.75 , 0.875],
[ 1. , 1.125]]],
[[[ 1.25 , 1.375],
[ 1.5 , -0.5 ]],
[[-0.375, -0.25 ],
[-0.125, 0. ]]],
[[[ 0.125, 0.25 ],
[ 0.375, 0.5 ]],
[[ 0.625, 0.75 ],
[ 0.875, 1. ]]]]]
labels: shape=(2, 2, 2, 2), dtype=int64
[[[[0, 1],
[2, 3]],
[[0, 1],
[2, 3]]],
[[[0, 1],
[2, 3]],
[[0, 1],
[2, 3]]]]
weights: shape=(4,), dtype=float32
[0.2, 0.3, 0.6, 0.1]
Outputs:
loss: shape=(), dtype=float32
7.462407
log_prob: shape=(2, 4, 2, 2, 2), dtype=float32
[[[[[-2.60315 , -1.9458606],
[-1.9458606, -1.9458606]],
[[-1.9458606, -1.9458606],
[-1.9458606, -1.9458606]]],
[[[-1.6031498, -0.9458607],
[-0.9458607, -0.9458607]],
[[-0.9458607, -0.9458607],
[-0.9458607, -0.9458607]]],
[[[-0.6031498, -2.0708606],
[-2.0708606, -2.0708606]],
[[-2.0708606, -2.0708606],
[-2.0708606, -2.0708606]]],
[[[-1.7281498, -1.0708606],
[-1.0708606, -1.0708606]],
[[-1.0708606, -1.0708606],
[-1.0708606, -1.0708606]]]],
[[[[-0.9137491, -0.9137491],
[-2.60315 , -1.9458606]],
[[-1.9458606, -1.9458606],
[-1.9458606, -1.9458606]]],
[[[-2.0387492, -2.0387492],
[-1.6031498, -0.9458607]],
[[-0.9458607, -0.9458607],
[-0.9458607, -0.9458607]]],
[[[-1.0387491, -1.0387491],
[-0.6031498, -2.0708606]],
[[-2.0708606, -2.0708606],
[-2.0708606, -2.0708606]]],
[[[-2.1637492, -2.1637492],
[-1.7281498, -1.0708606]],
[[-1.0708606, -1.0708606],
[-1.0708606, -1.0708606]]]]]
test_cc_sce_NCd1d2d3d4d5_mean_weight
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss)
Attributes:
reduction = "mean"
Inputs:
scores: shape=(2, 3, 2, 2, 2, 2, 2), dtype=float32
[[[[[[[-0.5 , -0.4375],
[-0.375 , -0.3125]],
[[-0.25 , -0.1875],
[-0.125 , -0.0625]]],
[[[ 0. , 0.0625],
[ 0.125 , 0.1875]],
[[ 0.25 , 0.3125],
[ 0.375 , 0.4375]]]],
[[[[ 0.5 , 0.5625],
[ 0.625 , 0.6875]],
[[ 0.75 , 0.8125],
[ 0.875 , 0.9375]]],
[[[ 1. , 1.0625],
[ 1.125 , 1.1875]],
[[ 1.25 , 1.3125],
[ 1.375 , 1.4375]]]]],
[[[[[ 1.5 , -0.5 ],
[-0.4375, -0.375 ]],
[[-0.3125, -0.25 ],
[-0.1875, -0.125 ]]],
[[[-0.0625, 0. ],
[ 0.0625, 0.125 ]],
[[ 0.1875, 0.25 ],
[ 0.3125, 0.375 ]]]],
[[[[ 0.4375, 0.5 ],
[ 0.5625, 0.625 ]],
[[ 0.6875, 0.75 ],
[ 0.8125, 0.875 ]]],
[[[ 0.9375, 1. ],
[ 1.0625, 1.125 ]],
[[ 1.1875, 1.25 ],
[ 1.3125, 1.375 ]]]]],
[[[[[ 1.4375, 1.5 ],
[-0.5 , -0.4375]],
[[-0.375 , -0.3125],
[-0.25 , -0.1875]]],
[[[-0.125 , -0.0625],
[ 0. , 0.0625]],
[[ 0.125 , 0.1875],
[ 0.25 , 0.3125]]]],
[[[[ 0.375 , 0.4375],
[ 0.5 , 0.5625]],
[[ 0.625 , 0.6875],
[ 0.75 , 0.8125]]],
[[[ 0.875 , 0.9375],
[ 1. , 1.0625]],
[[ 1.125 , 1.1875],
[ 1.25 , 1.3125]]]]]],
[[[[[[ 1.375 , 1.4375],
[ 1.5 , -0.5 ]],
[[-0.4375, -0.375 ],
[-0.3125, -0.25 ]]],
[[[-0.1875, -0.125 ],
[-0.0625, 0. ]],
[[ 0.0625, 0.125 ],
[ 0.1875, 0.25 ]]]],
[[[[ 0.3125, 0.375 ],
[ 0.4375, 0.5 ]],
[[ 0.5625, 0.625 ],
[ 0.6875, 0.75 ]]],
[[[ 0.8125, 0.875 ],
[ 0.9375, 1. ]],
[[ 1.0625, 1.125 ],
[ 1.1875, 1.25 ]]]]],
[[[[[ 1.3125, 1.375 ],
[ 1.4375, 1.5 ]],
[[-0.5 , -0.4375],
[-0.375 , -0.3125]]],
[[[-0.25 , -0.1875],
[-0.125 , -0.0625]],
[[ 0. , 0.0625],
[ 0.125 , 0.1875]]]],
[[[[ 0.25 , 0.3125],
[ 0.375 , 0.4375]],
[[ 0.5 , 0.5625],
[ 0.625 , 0.6875]]],
[[[ 0.75 , 0.8125],
[ 0.875 , 0.9375]],
[[ 1. , 1.0625],
[ 1.125 , 1.1875]]]]],
[[[[[ 1.25 , 1.3125],
[ 1.375 , 1.4375]],
[[ 1.5 , -0.5 ],
[-0.4375, -0.375 ]]],
[[[-0.3125, -0.25 ],
[-0.1875, -0.125 ]],
[[-0.0625, 0. ],
[ 0.0625, 0.125 ]]]],
[[[[ 0.1875, 0.25 ],
[ 0.3125, 0.375 ]],
[[ 0.4375, 0.5 ],
[ 0.5625, 0.625 ]]],
[[[ 0.6875, 0.75 ],
[ 0.8125, 0.875 ]],
[[ 0.9375, 1. ],
[ 1.0625, 1.125 ]]]]]]]
labels: shape=(2, 2, 2, 2, 2, 2), dtype=int64
[[[[[[0, 1],
[2, 0]],
[[1, 2],
[0, 1]]],
[[[2, 0],
[1, 2]],
[[0, 1],
[2, 0]]]],
[[[[1, 2],
[0, 1]],
[[2, 0],
[1, 2]]],
[[[0, 1],
[2, 0]],
[[1, 2],
[0, 1]]]]],
[[[[[2, 0],
[1, 2]],
[[0, 1],
[2, 0]]],
[[[1, 2],
[0, 1]],
[[2, 0],
[1, 2]]]],
[[[[0, 1],
[2, 0]],
[[1, 2],
[0, 1]]],
[[[2, 0],
[1, 2]],
[[0, 1],
[2, 0]]]]]]
weights: shape=(3,), dtype=float32
[0.5, 0.3, 0.2]
Outputs:
loss: shape=(), dtype=float32
1.1587229
test_cc_sce_NCd1d2d3d4d5_mean_weight_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss, log_prob)
Attributes:
reduction = "mean"
Inputs:
scores: shape=(2, 3, 2, 2, 2, 2, 2), dtype=float32
[[[[[[[-0.5 , -0.4375],
[-0.375 , -0.3125]],
[[-0.25 , -0.1875],
[-0.125 , -0.0625]]],
[[[ 0. , 0.0625],
[ 0.125 , 0.1875]],
[[ 0.25 , 0.3125],
[ 0.375 , 0.4375]]]],
[[[[ 0.5 , 0.5625],
[ 0.625 , 0.6875]],
[[ 0.75 , 0.8125],
[ 0.875 , 0.9375]]],
[[[ 1. , 1.0625],
[ 1.125 , 1.1875]],
[[ 1.25 , 1.3125],
[ 1.375 , 1.4375]]]]],
[[[[[ 1.5 , -0.5 ],
[-0.4375, -0.375 ]],
[[-0.3125, -0.25 ],
[-0.1875, -0.125 ]]],
[[[-0.0625, 0. ],
[ 0.0625, 0.125 ]],
[[ 0.1875, 0.25 ],
[ 0.3125, 0.375 ]]]],
[[[[ 0.4375, 0.5 ],
[ 0.5625, 0.625 ]],
[[ 0.6875, 0.75 ],
[ 0.8125, 0.875 ]]],
[[[ 0.9375, 1. ],
[ 1.0625, 1.125 ]],
[[ 1.1875, 1.25 ],
[ 1.3125, 1.375 ]]]]],
[[[[[ 1.4375, 1.5 ],
[-0.5 , -0.4375]],
[[-0.375 , -0.3125],
[-0.25 , -0.1875]]],
[[[-0.125 , -0.0625],
[ 0. , 0.0625]],
[[ 0.125 , 0.1875],
[ 0.25 , 0.3125]]]],
[[[[ 0.375 , 0.4375],
[ 0.5 , 0.5625]],
[[ 0.625 , 0.6875],
[ 0.75 , 0.8125]]],
[[[ 0.875 , 0.9375],
[ 1. , 1.0625]],
[[ 1.125 , 1.1875],
[ 1.25 , 1.3125]]]]]],
[[[[[[ 1.375 , 1.4375],
[ 1.5 , -0.5 ]],
[[-0.4375, -0.375 ],
[-0.3125, -0.25 ]]],
[[[-0.1875, -0.125 ],
[-0.0625, 0. ]],
[[ 0.0625, 0.125 ],
[ 0.1875, 0.25 ]]]],
[[[[ 0.3125, 0.375 ],
[ 0.4375, 0.5 ]],
[[ 0.5625, 0.625 ],
[ 0.6875, 0.75 ]]],
[[[ 0.8125, 0.875 ],
[ 0.9375, 1. ]],
[[ 1.0625, 1.125 ],
[ 1.1875, 1.25 ]]]]],
[[[[[ 1.3125, 1.375 ],
[ 1.4375, 1.5 ]],
[[-0.5 , -0.4375],
[-0.375 , -0.3125]]],
[[[-0.25 , -0.1875],
[-0.125 , -0.0625]],
[[ 0. , 0.0625],
[ 0.125 , 0.1875]]]],
[[[[ 0.25 , 0.3125],
[ 0.375 , 0.4375]],
[[ 0.5 , 0.5625],
[ 0.625 , 0.6875]]],
[[[ 0.75 , 0.8125],
[ 0.875 , 0.9375]],
[[ 1. , 1.0625],
[ 1.125 , 1.1875]]]]],
[[[[[ 1.25 , 1.3125],
[ 1.375 , 1.4375]],
[[ 1.5 , -0.5 ],
[-0.4375, -0.375 ]]],
[[[-0.3125, -0.25 ],
[-0.1875, -0.125 ]],
[[-0.0625, 0. ],
[ 0.0625, 0.125 ]]]],
[[[[ 0.1875, 0.25 ],
[ 0.3125, 0.375 ]],
[[ 0.4375, 0.5 ],
[ 0.5625, 0.625 ]]],
[[[ 0.6875, 0.75 ],
[ 0.8125, 0.875 ]],
[[ 0.9375, 1. ],
[ 1.0625, 1.125 ]]]]]]]
labels: shape=(2, 2, 2, 2, 2, 2), dtype=int64
[[[[[[0, 1],
[2, 0]],
[[1, 2],
[0, 1]]],
[[[2, 0],
[1, 2]],
[[0, 1],
[2, 0]]]],
[[[[1, 2],
[0, 1]],
[[2, 0],
[1, 2]]],
[[[0, 1],
[2, 0]],
[[1, 2],
[0, 1]]]]],
[[[[[2, 0],
[1, 2]],
[[0, 1],
[2, 0]]],
[[[1, 2],
[0, 1]],
[[2, 0],
[1, 2]]]],
[[[[0, 1],
[2, 0]],
[[1, 2],
[0, 1]]],
[[[2, 0],
[1, 2]],
[[0, 1],
[2, 0]]]]]]
weights: shape=(3,), dtype=float32
[0.5, 0.3, 0.2]
Outputs:
loss: shape=(), dtype=float32
1.1587229
log_prob: shape=(2, 3, 2, 2, 2, 2, 2), dtype=float32
[[[[[[[-2.7298398 , -2.1838903 ],
[-1.037414 , -1.037414 ]],
[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]]],
[[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]],
[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]]]],
[[[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]],
[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]]],
[[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]],
[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]]]]],
[[[[[-0.7298399 , -2.2463903 ],
[-1.099914 , -1.099914 ]],
[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]]],
[[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]],
[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]]]],
[[[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]],
[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]]],
[[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]],
[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]]]]],
[[[[[-0.7923399 , -0.24639037],
[-1.162414 , -1.162414 ]],
[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]]],
[[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]],
[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]]]],
[[[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]],
[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]]],
[[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]],
[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]]]]]],
[[[[[[-1.037414 , -1.037414 ],
[-1.037414 , -2.7298398 ]],
[[-2.1838903 , -1.037414 ],
[-1.037414 , -1.037414 ]]],
[[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]],
[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]]]],
[[[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]],
[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]]],
[[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]],
[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]]]]],
[[[[[-1.099914 , -1.099914 ],
[-1.099914 , -0.7298399 ]],
[[-2.2463903 , -1.099914 ],
[-1.099914 , -1.099914 ]]],
[[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]],
[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]]]],
[[[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]],
[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]]],
[[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]],
[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]]]]],
[[[[[-1.162414 , -1.162414 ],
[-1.162414 , -0.7923399 ]],
[[-0.24639037, -1.162414 ],
[-1.162414 , -1.162414 ]]],
[[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]],
[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]]]],
[[[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]],
[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]]],
[[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]],
[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]]]]]]]
test_cc_sce_NCd1d2d3d4d5_none_no_weight
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss)
Attributes:
reduction = "none"
Inputs:
scores: shape=(2, 3, 2, 2, 2, 2, 2), dtype=float32
[[[[[[[-0.5 , -0.4375],
[-0.375 , -0.3125]],
[[-0.25 , -0.1875],
[-0.125 , -0.0625]]],
[[[ 0. , 0.0625],
[ 0.125 , 0.1875]],
[[ 0.25 , 0.3125],
[ 0.375 , 0.4375]]]],
[[[[ 0.5 , 0.5625],
[ 0.625 , 0.6875]],
[[ 0.75 , 0.8125],
[ 0.875 , 0.9375]]],
[[[ 1. , 1.0625],
[ 1.125 , 1.1875]],
[[ 1.25 , 1.3125],
[ 1.375 , 1.4375]]]]],
[[[[[ 1.5 , -0.5 ],
[-0.4375, -0.375 ]],
[[-0.3125, -0.25 ],
[-0.1875, -0.125 ]]],
[[[-0.0625, 0. ],
[ 0.0625, 0.125 ]],
[[ 0.1875, 0.25 ],
[ 0.3125, 0.375 ]]]],
[[[[ 0.4375, 0.5 ],
[ 0.5625, 0.625 ]],
[[ 0.6875, 0.75 ],
[ 0.8125, 0.875 ]]],
[[[ 0.9375, 1. ],
[ 1.0625, 1.125 ]],
[[ 1.1875, 1.25 ],
[ 1.3125, 1.375 ]]]]],
[[[[[ 1.4375, 1.5 ],
[-0.5 , -0.4375]],
[[-0.375 , -0.3125],
[-0.25 , -0.1875]]],
[[[-0.125 , -0.0625],
[ 0. , 0.0625]],
[[ 0.125 , 0.1875],
[ 0.25 , 0.3125]]]],
[[[[ 0.375 , 0.4375],
[ 0.5 , 0.5625]],
[[ 0.625 , 0.6875],
[ 0.75 , 0.8125]]],
[[[ 0.875 , 0.9375],
[ 1. , 1.0625]],
[[ 1.125 , 1.1875],
[ 1.25 , 1.3125]]]]]],
[[[[[[ 1.375 , 1.4375],
[ 1.5 , -0.5 ]],
[[-0.4375, -0.375 ],
[-0.3125, -0.25 ]]],
[[[-0.1875, -0.125 ],
[-0.0625, 0. ]],
[[ 0.0625, 0.125 ],
[ 0.1875, 0.25 ]]]],
[[[[ 0.3125, 0.375 ],
[ 0.4375, 0.5 ]],
[[ 0.5625, 0.625 ],
[ 0.6875, 0.75 ]]],
[[[ 0.8125, 0.875 ],
[ 0.9375, 1. ]],
[[ 1.0625, 1.125 ],
[ 1.1875, 1.25 ]]]]],
[[[[[ 1.3125, 1.375 ],
[ 1.4375, 1.5 ]],
[[-0.5 , -0.4375],
[-0.375 , -0.3125]]],
[[[-0.25 , -0.1875],
[-0.125 , -0.0625]],
[[ 0. , 0.0625],
[ 0.125 , 0.1875]]]],
[[[[ 0.25 , 0.3125],
[ 0.375 , 0.4375]],
[[ 0.5 , 0.5625],
[ 0.625 , 0.6875]]],
[[[ 0.75 , 0.8125],
[ 0.875 , 0.9375]],
[[ 1. , 1.0625],
[ 1.125 , 1.1875]]]]],
[[[[[ 1.25 , 1.3125],
[ 1.375 , 1.4375]],
[[ 1.5 , -0.5 ],
[-0.4375, -0.375 ]]],
[[[-0.3125, -0.25 ],
[-0.1875, -0.125 ]],
[[-0.0625, 0. ],
[ 0.0625, 0.125 ]]]],
[[[[ 0.1875, 0.25 ],
[ 0.3125, 0.375 ]],
[[ 0.4375, 0.5 ],
[ 0.5625, 0.625 ]]],
[[[ 0.6875, 0.75 ],
[ 0.8125, 0.875 ]],
[[ 0.9375, 1. ],
[ 1.0625, 1.125 ]]]]]]]
labels: shape=(2, 2, 2, 2, 2, 2), dtype=int64
[[[[[[0, 1],
[2, 0]],
[[1, 2],
[0, 1]]],
[[[2, 0],
[1, 2]],
[[0, 1],
[2, 0]]]],
[[[[1, 2],
[0, 1]],
[[2, 0],
[1, 2]]],
[[[0, 1],
[2, 0]],
[[1, 2],
[0, 1]]]]],
[[[[[2, 0],
[1, 2]],
[[0, 1],
[2, 0]]],
[[[1, 2],
[0, 1]],
[[2, 0],
[1, 2]]]],
[[[[0, 1],
[2, 0]],
[[1, 2],
[0, 1]]],
[[[2, 0],
[1, 2]],
[[0, 1],
[2, 0]]]]]]
Outputs:
loss: shape=(2, 2, 2, 2, 2, 2), dtype=float32
[[[[[[2.7298398, 2.2463903],
[1.162414 , 1.037414 ]],
[[1.099914 , 1.162414 ],
[1.037414 , 1.099914 ]]],
[[[1.162414 , 1.037414 ],
[1.099914 , 1.162414 ]],
[[1.037414 , 1.099914 ],
[1.162414 , 1.037414 ]]]],
[[[[1.099914 , 1.162414 ],
[1.037414 , 1.099914 ]],
[[1.162414 , 1.037414 ],
[1.099914 , 1.162414 ]]],
[[[1.037414 , 1.099914 ],
[1.162414 , 1.037414 ]],
[[1.099914 , 1.162414 ],
[1.037414 , 1.099914 ]]]]],
[[[[[1.162414 , 1.037414 ],
[1.099914 , 0.7923399]],
[[2.1838903, 1.099914 ],
[1.162414 , 1.037414 ]]],
[[[1.099914 , 1.162414 ],
[1.037414 , 1.099914 ]],
[[1.162414 , 1.037414 ],
[1.099914 , 1.162414 ]]]],
[[[[1.037414 , 1.099914 ],
[1.162414 , 1.037414 ]],
[[1.099914 , 1.162414 ],
[1.037414 , 1.099914 ]]],
[[[1.162414 , 1.037414 ],
[1.099914 , 1.162414 ]],
[[1.037414 , 1.099914 ],
[1.162414 , 1.037414 ]]]]]]
test_cc_sce_NCd1d2d3d4d5_none_no_weight_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss, log_prob)
Attributes:
reduction = "none"
Inputs:
scores: shape=(2, 3, 2, 2, 2, 2, 2), dtype=float32
[[[[[[[-0.5 , -0.4375],
[-0.375 , -0.3125]],
[[-0.25 , -0.1875],
[-0.125 , -0.0625]]],
[[[ 0. , 0.0625],
[ 0.125 , 0.1875]],
[[ 0.25 , 0.3125],
[ 0.375 , 0.4375]]]],
[[[[ 0.5 , 0.5625],
[ 0.625 , 0.6875]],
[[ 0.75 , 0.8125],
[ 0.875 , 0.9375]]],
[[[ 1. , 1.0625],
[ 1.125 , 1.1875]],
[[ 1.25 , 1.3125],
[ 1.375 , 1.4375]]]]],
[[[[[ 1.5 , -0.5 ],
[-0.4375, -0.375 ]],
[[-0.3125, -0.25 ],
[-0.1875, -0.125 ]]],
[[[-0.0625, 0. ],
[ 0.0625, 0.125 ]],
[[ 0.1875, 0.25 ],
[ 0.3125, 0.375 ]]]],
[[[[ 0.4375, 0.5 ],
[ 0.5625, 0.625 ]],
[[ 0.6875, 0.75 ],
[ 0.8125, 0.875 ]]],
[[[ 0.9375, 1. ],
[ 1.0625, 1.125 ]],
[[ 1.1875, 1.25 ],
[ 1.3125, 1.375 ]]]]],
[[[[[ 1.4375, 1.5 ],
[-0.5 , -0.4375]],
[[-0.375 , -0.3125],
[-0.25 , -0.1875]]],
[[[-0.125 , -0.0625],
[ 0. , 0.0625]],
[[ 0.125 , 0.1875],
[ 0.25 , 0.3125]]]],
[[[[ 0.375 , 0.4375],
[ 0.5 , 0.5625]],
[[ 0.625 , 0.6875],
[ 0.75 , 0.8125]]],
[[[ 0.875 , 0.9375],
[ 1. , 1.0625]],
[[ 1.125 , 1.1875],
[ 1.25 , 1.3125]]]]]],
[[[[[[ 1.375 , 1.4375],
[ 1.5 , -0.5 ]],
[[-0.4375, -0.375 ],
[-0.3125, -0.25 ]]],
[[[-0.1875, -0.125 ],
[-0.0625, 0. ]],
[[ 0.0625, 0.125 ],
[ 0.1875, 0.25 ]]]],
[[[[ 0.3125, 0.375 ],
[ 0.4375, 0.5 ]],
[[ 0.5625, 0.625 ],
[ 0.6875, 0.75 ]]],
[[[ 0.8125, 0.875 ],
[ 0.9375, 1. ]],
[[ 1.0625, 1.125 ],
[ 1.1875, 1.25 ]]]]],
[[[[[ 1.3125, 1.375 ],
[ 1.4375, 1.5 ]],
[[-0.5 , -0.4375],
[-0.375 , -0.3125]]],
[[[-0.25 , -0.1875],
[-0.125 , -0.0625]],
[[ 0. , 0.0625],
[ 0.125 , 0.1875]]]],
[[[[ 0.25 , 0.3125],
[ 0.375 , 0.4375]],
[[ 0.5 , 0.5625],
[ 0.625 , 0.6875]]],
[[[ 0.75 , 0.8125],
[ 0.875 , 0.9375]],
[[ 1. , 1.0625],
[ 1.125 , 1.1875]]]]],
[[[[[ 1.25 , 1.3125],
[ 1.375 , 1.4375]],
[[ 1.5 , -0.5 ],
[-0.4375, -0.375 ]]],
[[[-0.3125, -0.25 ],
[-0.1875, -0.125 ]],
[[-0.0625, 0. ],
[ 0.0625, 0.125 ]]]],
[[[[ 0.1875, 0.25 ],
[ 0.3125, 0.375 ]],
[[ 0.4375, 0.5 ],
[ 0.5625, 0.625 ]]],
[[[ 0.6875, 0.75 ],
[ 0.8125, 0.875 ]],
[[ 0.9375, 1. ],
[ 1.0625, 1.125 ]]]]]]]
labels: shape=(2, 2, 2, 2, 2, 2), dtype=int64
[[[[[[0, 1],
[2, 0]],
[[1, 2],
[0, 1]]],
[[[2, 0],
[1, 2]],
[[0, 1],
[2, 0]]]],
[[[[1, 2],
[0, 1]],
[[2, 0],
[1, 2]]],
[[[0, 1],
[2, 0]],
[[1, 2],
[0, 1]]]]],
[[[[[2, 0],
[1, 2]],
[[0, 1],
[2, 0]]],
[[[1, 2],
[0, 1]],
[[2, 0],
[1, 2]]]],
[[[[0, 1],
[2, 0]],
[[1, 2],
[0, 1]]],
[[[2, 0],
[1, 2]],
[[0, 1],
[2, 0]]]]]]
Outputs:
loss: shape=(2, 2, 2, 2, 2, 2), dtype=float32
[[[[[[2.7298398, 2.2463903],
[1.162414 , 1.037414 ]],
[[1.099914 , 1.162414 ],
[1.037414 , 1.099914 ]]],
[[[1.162414 , 1.037414 ],
[1.099914 , 1.162414 ]],
[[1.037414 , 1.099914 ],
[1.162414 , 1.037414 ]]]],
[[[[1.099914 , 1.162414 ],
[1.037414 , 1.099914 ]],
[[1.162414 , 1.037414 ],
[1.099914 , 1.162414 ]]],
[[[1.037414 , 1.099914 ],
[1.162414 , 1.037414 ]],
[[1.099914 , 1.162414 ],
[1.037414 , 1.099914 ]]]]],
[[[[[1.162414 , 1.037414 ],
[1.099914 , 0.7923399]],
[[2.1838903, 1.099914 ],
[1.162414 , 1.037414 ]]],
[[[1.099914 , 1.162414 ],
[1.037414 , 1.099914 ]],
[[1.162414 , 1.037414 ],
[1.099914 , 1.162414 ]]]],
[[[[1.037414 , 1.099914 ],
[1.162414 , 1.037414 ]],
[[1.099914 , 1.162414 ],
[1.037414 , 1.099914 ]]],
[[[1.162414 , 1.037414 ],
[1.099914 , 1.162414 ]],
[[1.037414 , 1.099914 ],
[1.162414 , 1.037414 ]]]]]]
log_prob: shape=(2, 3, 2, 2, 2, 2, 2), dtype=float32
[[[[[[[-2.7298398 , -2.1838903 ],
[-1.037414 , -1.037414 ]],
[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]]],
[[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]],
[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]]]],
[[[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]],
[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]]],
[[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]],
[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]]]]],
[[[[[-0.7298399 , -2.2463903 ],
[-1.099914 , -1.099914 ]],
[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]]],
[[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]],
[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]]]],
[[[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]],
[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]]],
[[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]],
[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]]]]],
[[[[[-0.7923399 , -0.24639037],
[-1.162414 , -1.162414 ]],
[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]]],
[[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]],
[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]]]],
[[[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]],
[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]]],
[[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]],
[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]]]]]],
[[[[[[-1.037414 , -1.037414 ],
[-1.037414 , -2.7298398 ]],
[[-2.1838903 , -1.037414 ],
[-1.037414 , -1.037414 ]]],
[[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]],
[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]]]],
[[[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]],
[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]]],
[[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]],
[[-1.037414 , -1.037414 ],
[-1.037414 , -1.037414 ]]]]],
[[[[[-1.099914 , -1.099914 ],
[-1.099914 , -0.7298399 ]],
[[-2.2463903 , -1.099914 ],
[-1.099914 , -1.099914 ]]],
[[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]],
[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]]]],
[[[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]],
[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]]],
[[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]],
[[-1.099914 , -1.099914 ],
[-1.099914 , -1.099914 ]]]]],
[[[[[-1.162414 , -1.162414 ],
[-1.162414 , -0.7923399 ]],
[[-0.24639037, -1.162414 ],
[-1.162414 , -1.162414 ]]],
[[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]],
[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]]]],
[[[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]],
[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]]],
[[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]],
[[-1.162414 , -1.162414 ],
[-1.162414 , -1.162414 ]]]]]]]
test_cc_sce_mean
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss)
Attributes:
reduction = "mean"
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
Outputs:
loss: shape=(), dtype=float32
1.3496118
test_cc_sce_mean_3d
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss)
Attributes:
reduction = "mean"
Inputs:
scores: shape=(3, 5, 2), dtype=float32
[[[-0.5 , -0.375],
[-0.25 , -0.125],
[ 0. , 0.125],
[ 0.25 , 0.375],
[ 0.5 , 0.625]],
[[ 0.75 , 0.875],
[ 1. , 1.125],
[ 1.25 , 1.375],
[ 1.5 , -0.5 ],
[-0.375, -0.25 ]],
[[-0.125, 0. ],
[ 0.125, 0.25 ],
[ 0.375, 0.5 ],
[ 0.625, 0.75 ],
[ 0.875, 1. ]]]
labels: shape=(3, 2), dtype=int64
[[0, 1],
[2, 3],
[4, 0]]
Outputs:
loss: shape=(), dtype=float32
1.9446813
test_cc_sce_mean_3d_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss, log_prob)
Attributes:
reduction = "mean"
Inputs:
scores: shape=(3, 5, 2), dtype=float32
[[[-0.5 , -0.375],
[-0.25 , -0.125],
[ 0. , 0.125],
[ 0.25 , 0.375],
[ 0.5 , 0.625]],
[[ 0.75 , 0.875],
[ 1. , 1.125],
[ 1.25 , 1.375],
[ 1.5 , -0.5 ],
[-0.375, -0.25 ]],
[[-0.125, 0. ],
[ 0.125, 0.25 ],
[ 0.375, 0.5 ],
[ 0.625, 0.75 ],
[ 0.875, 1. ]]]
labels: shape=(3, 2), dtype=int64
[[0, 1],
[2, 3],
[4, 0]]
Outputs:
loss: shape=(), dtype=float32
1.9446813
log_prob: shape=(3, 5, 2), dtype=float32
[[[-2.171112 , -2.171112 ],
[-1.921112 , -1.921112 ],
[-1.671112 , -1.671112 ],
[-1.421112 , -1.421112 ],
[-1.171112 , -1.171112 ]],
[[-1.8522898, -1.50635 ],
[-1.6022898, -1.25635 ],
[-1.3522898, -1.00635 ],
[-1.1022898, -2.88135 ],
[-2.9772897, -2.63135 ]],
[[-2.171112 , -2.171112 ],
[-1.921112 , -1.921112 ],
[-1.671112 , -1.671112 ],
[-1.421112 , -1.421112 ],
[-1.171112 , -1.171112 ]]]
test_cc_sce_mean_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss, log_prob)
Attributes:
reduction = "mean"
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
Outputs:
loss: shape=(), dtype=float32
1.3496118
log_prob: shape=(3, 5), dtype=float32
[[-1.8194163, -1.7194164, -1.6194162, -1.5194163, -1.4194163],
[-1.0470278, -1.5470278, -1.8470278, -1.9470278, -1.9970279],
[-2.3823915, -1.8823912, -1.4823914, -1.2823913, -1.3823912]]
test_cc_sce_mean_no_weight_ii
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss)
Attributes:
reduction = "mean"
ignore_index = 0
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
Outputs:
loss: shape=(), dtype=float32
1.5009037
test_cc_sce_mean_no_weight_ii_3d
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss)
Attributes:
reduction = "mean"
ignore_index = 0
Inputs:
scores: shape=(3, 5, 2), dtype=float32
[[[-0.5 , -0.375],
[-0.25 , -0.125],
[ 0. , 0.125],
[ 0.25 , 0.375],
[ 0.5 , 0.625]],
[[ 0.75 , 0.875],
[ 1. , 1.125],
[ 1.25 , 1.375],
[ 1.5 , -0.5 ],
[-0.375, -0.25 ]],
[[-0.125, 0. ],
[ 0.125, 0.25 ],
[ 0.375, 0.5 ],
[ 0.625, 0.75 ],
[ 0.875, 1. ]]]
labels: shape=(3, 2), dtype=int64
[[0, 1],
[2, 3],
[4, 0]]
Outputs:
loss: shape=(), dtype=float32
1.831466
test_cc_sce_mean_no_weight_ii_3d_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss, log_prob)
Attributes:
reduction = "mean"
ignore_index = 0
Inputs:
scores: shape=(3, 5, 2), dtype=float32
[[[-0.5 , -0.375],
[-0.25 , -0.125],
[ 0. , 0.125],
[ 0.25 , 0.375],
[ 0.5 , 0.625]],
[[ 0.75 , 0.875],
[ 1. , 1.125],
[ 1.25 , 1.375],
[ 1.5 , -0.5 ],
[-0.375, -0.25 ]],
[[-0.125, 0. ],
[ 0.125, 0.25 ],
[ 0.375, 0.5 ],
[ 0.625, 0.75 ],
[ 0.875, 1. ]]]
labels: shape=(3, 2), dtype=int64
[[0, 1],
[2, 3],
[4, 0]]
Outputs:
loss: shape=(), dtype=float32
1.831466
log_prob: shape=(3, 5, 2), dtype=float32
[[[-2.171112 , -2.171112 ],
[-1.921112 , -1.921112 ],
[-1.671112 , -1.671112 ],
[-1.421112 , -1.421112 ],
[-1.171112 , -1.171112 ]],
[[-1.8522898, -1.50635 ],
[-1.6022898, -1.25635 ],
[-1.3522898, -1.00635 ],
[-1.1022898, -2.88135 ],
[-2.9772897, -2.63135 ]],
[[-2.171112 , -2.171112 ],
[-1.921112 , -1.921112 ],
[-1.671112 , -1.671112 ],
[-1.421112 , -1.421112 ],
[-1.171112 , -1.171112 ]]]
test_cc_sce_mean_no_weight_ii_4d
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss)
Attributes:
reduction = "mean"
ignore_index = 0
Inputs:
scores: shape=(2, 4, 2, 2), dtype=float32
[[[[-0.5 , -0.375],
[-0.25 , -0.125]],
[[ 0. , 0.125],
[ 0.25 , 0.375]],
[[ 0.5 , 0.625],
[ 0.75 , 0.875]],
[[ 1. , 1.125],
[ 1.25 , 1.375]]],
[[[ 1.5 , -0.5 ],
[-0.375, -0.25 ]],
[[-0.125, 0. ],
[ 0.125, 0.25 ]],
[[ 0.375, 0.5 ],
[ 0.625, 0.75 ]],
[[ 0.875, 1. ],
[ 1.125, 1.25 ]]]]
labels: shape=(2, 2, 2), dtype=int64
[[[0, 1],
[2, 3]],
[[0, 1],
[2, 3]]]
Outputs:
loss: shape=(), dtype=float32
1.2873387
test_cc_sce_mean_no_weight_ii_4d_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss, log_prob)
Attributes:
reduction = "mean"
ignore_index = 0
Inputs:
scores: shape=(2, 4, 2, 2), dtype=float32
[[[[-0.5 , -0.375],
[-0.25 , -0.125]],
[[ 0. , 0.125],
[ 0.25 , 0.375]],
[[ 0.5 , 0.625],
[ 0.75 , 0.875]],
[[ 1. , 1.125],
[ 1.25 , 1.375]]],
[[[ 1.5 , -0.5 ],
[-0.375, -0.25 ]],
[[-0.125, 0. ],
[ 0.125, 0.25 ]],
[[ 0.375, 0.5 ],
[ 0.625, 0.75 ]],
[[ 0.875, 1. ],
[ 1.125, 1.25 ]]]]
labels: shape=(2, 2, 2), dtype=int64
[[[0, 1],
[2, 3]],
[[0, 1],
[2, 3]]]
Outputs:
loss: shape=(), dtype=float32
1.2873387
log_prob: shape=(2, 4, 2, 2), dtype=float32
[[[[-2.2873387 , -2.2873387 ],
[-2.2873387 , -2.2873387 ]],
[[-1.7873387 , -1.7873387 ],
[-1.7873387 , -1.7873387 ]],
[[-1.2873387 , -1.2873387 ],
[-1.2873387 , -1.2873387 ]],
[[-0.7873387 , -0.7873387 ],
[-0.7873387 , -0.7873387 ]]],
[[[-0.72116387, -2.2873387 ],
[-2.2873387 , -2.2873387 ]],
[[-2.3461637 , -1.7873387 ],
[-1.7873387 , -1.7873387 ]],
[[-1.8461639 , -1.2873387 ],
[-1.2873387 , -1.2873387 ]],
[[-1.3461639 , -0.7873387 ],
[-0.7873387 , -0.7873387 ]]]]
test_cc_sce_mean_no_weight_ii_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss, log_prob)
Attributes:
reduction = "mean"
ignore_index = 0
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
Outputs:
loss: shape=(), dtype=float32
1.5009037
log_prob: shape=(3, 5), dtype=float32
[[-1.8194163, -1.7194164, -1.6194162, -1.5194163, -1.4194163],
[-1.0470278, -1.5470278, -1.8470278, -1.9470278, -1.9970279],
[-2.3823915, -1.8823912, -1.4823914, -1.2823913, -1.3823912]]
test_cc_sce_mean_weight
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss)
Attributes:
reduction = "mean"
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
weights: shape=(5,), dtype=float32
[0.2, 0.3, 0.6, 0.1, 0.5]
Outputs:
loss: shape=(), dtype=float32
1.440193
test_cc_sce_mean_weight_ii
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss)
Attributes:
reduction = "mean"
ignore_index = 0
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
weights: shape=(5,), dtype=float32
[0.2, 0.3, 0.6, 0.1, 0.5]
Outputs:
loss: shape=(), dtype=float32
1.5116776
test_cc_sce_mean_weight_ii_3d
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss)
Attributes:
reduction = "mean"
ignore_index = 0
Inputs:
scores: shape=(3, 5, 2), dtype=float32
[[[-0.5 , -0.375],
[-0.25 , -0.125],
[ 0. , 0.125],
[ 0.25 , 0.375],
[ 0.5 , 0.625]],
[[ 0.75 , 0.875],
[ 1. , 1.125],
[ 1.25 , 1.375],
[ 1.5 , -0.5 ],
[-0.375, -0.25 ]],
[[-0.125, 0. ],
[ 0.125, 0.25 ],
[ 0.375, 0.5 ],
[ 0.625, 0.75 ],
[ 0.875, 1. ]]]
labels: shape=(3, 2), dtype=int64
[[0, 1],
[2, 3],
[4, 0]]
weights: shape=(5,), dtype=float32
[0.2, 0.3, 0.6, 0.1, 0.5]
Outputs:
loss: shape=(), dtype=float32
1.507599
test_cc_sce_mean_weight_ii_3d_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss, log_prob)
Attributes:
reduction = "mean"
ignore_index = 0
Inputs:
scores: shape=(3, 5, 2), dtype=float32
[[[-0.5 , -0.375],
[-0.25 , -0.125],
[ 0. , 0.125],
[ 0.25 , 0.375],
[ 0.5 , 0.625]],
[[ 0.75 , 0.875],
[ 1. , 1.125],
[ 1.25 , 1.375],
[ 1.5 , -0.5 ],
[-0.375, -0.25 ]],
[[-0.125, 0. ],
[ 0.125, 0.25 ],
[ 0.375, 0.5 ],
[ 0.625, 0.75 ],
[ 0.875, 1. ]]]
labels: shape=(3, 2), dtype=int64
[[0, 1],
[2, 3],
[4, 0]]
weights: shape=(5,), dtype=float32
[0.2, 0.3, 0.6, 0.1, 0.5]
Outputs:
loss: shape=(), dtype=float32
1.507599
log_prob: shape=(3, 5, 2), dtype=float32
[[[-2.171112 , -2.171112 ],
[-1.921112 , -1.921112 ],
[-1.671112 , -1.671112 ],
[-1.421112 , -1.421112 ],
[-1.171112 , -1.171112 ]],
[[-1.8522898, -1.50635 ],
[-1.6022898, -1.25635 ],
[-1.3522898, -1.00635 ],
[-1.1022898, -2.88135 ],
[-2.9772897, -2.63135 ]],
[[-2.171112 , -2.171112 ],
[-1.921112 , -1.921112 ],
[-1.671112 , -1.671112 ],
[-1.421112 , -1.421112 ],
[-1.171112 , -1.171112 ]]]
test_cc_sce_mean_weight_ii_4d
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss)
Attributes:
reduction = "mean"
ignore_index = 0
Inputs:
scores: shape=(2, 4, 2, 2), dtype=float32
[[[[-0.5 , -0.375],
[-0.25 , -0.125]],
[[ 0. , 0.125],
[ 0.25 , 0.375]],
[[ 0.5 , 0.625],
[ 0.75 , 0.875]],
[[ 1. , 1.125],
[ 1.25 , 1.375]]],
[[[ 1.5 , -0.5 ],
[-0.375, -0.25 ]],
[[-0.125, 0. ],
[ 0.125, 0.25 ]],
[[ 0.375, 0.5 ],
[ 0.625, 0.75 ]],
[[ 0.875, 1. ],
[ 1.125, 1.25 ]]]]
labels: shape=(2, 2, 2), dtype=int64
[[[0, 1],
[2, 3]],
[[0, 1],
[2, 3]]]
weights: shape=(4,), dtype=float32
[0.2, 0.3, 0.6, 0.1]
Outputs:
loss: shape=(), dtype=float32
1.3873389
test_cc_sce_mean_weight_ii_4d_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss, log_prob)
Attributes:
reduction = "mean"
ignore_index = 0
Inputs:
scores: shape=(2, 4, 2, 2), dtype=float32
[[[[-0.5 , -0.375],
[-0.25 , -0.125]],
[[ 0. , 0.125],
[ 0.25 , 0.375]],
[[ 0.5 , 0.625],
[ 0.75 , 0.875]],
[[ 1. , 1.125],
[ 1.25 , 1.375]]],
[[[ 1.5 , -0.5 ],
[-0.375, -0.25 ]],
[[-0.125, 0. ],
[ 0.125, 0.25 ]],
[[ 0.375, 0.5 ],
[ 0.625, 0.75 ]],
[[ 0.875, 1. ],
[ 1.125, 1.25 ]]]]
labels: shape=(2, 2, 2), dtype=int64
[[[0, 1],
[2, 3]],
[[0, 1],
[2, 3]]]
weights: shape=(4,), dtype=float32
[0.2, 0.3, 0.6, 0.1]
Outputs:
loss: shape=(), dtype=float32
1.3873389
log_prob: shape=(2, 4, 2, 2), dtype=float32
[[[[-2.2873387 , -2.2873387 ],
[-2.2873387 , -2.2873387 ]],
[[-1.7873387 , -1.7873387 ],
[-1.7873387 , -1.7873387 ]],
[[-1.2873387 , -1.2873387 ],
[-1.2873387 , -1.2873387 ]],
[[-0.7873387 , -0.7873387 ],
[-0.7873387 , -0.7873387 ]]],
[[[-0.72116387, -2.2873387 ],
[-2.2873387 , -2.2873387 ]],
[[-2.3461637 , -1.7873387 ],
[-1.7873387 , -1.7873387 ]],
[[-1.8461639 , -1.2873387 ],
[-1.2873387 , -1.2873387 ]],
[[-1.3461639 , -0.7873387 ],
[-0.7873387 , -0.7873387 ]]]]
test_cc_sce_mean_weight_ii_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss, log_prob)
Attributes:
reduction = "mean"
ignore_index = 0
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
weights: shape=(5,), dtype=float32
[0.2, 0.3, 0.6, 0.1, 0.5]
Outputs:
loss: shape=(), dtype=float32
1.5116776
log_prob: shape=(3, 5), dtype=float32
[[-1.8194163, -1.7194164, -1.6194162, -1.5194163, -1.4194163],
[-1.0470278, -1.5470278, -1.8470278, -1.9470278, -1.9970279],
[-2.3823915, -1.8823912, -1.4823914, -1.2823913, -1.3823912]]
test_cc_sce_mean_weight_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss, log_prob)
Attributes:
reduction = "mean"
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
weights: shape=(5,), dtype=float32
[0.2, 0.3, 0.6, 0.1, 0.5]
Outputs:
loss: shape=(), dtype=float32
1.440193
log_prob: shape=(3, 5), dtype=float32
[[-1.8194163, -1.7194164, -1.6194162, -1.5194163, -1.4194163],
[-1.0470278, -1.5470278, -1.8470278, -1.9470278, -1.9970279],
[-2.3823915, -1.8823912, -1.4823914, -1.2823913, -1.3823912]]
test_cc_sce_none
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss)
Attributes:
reduction = "none"
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
Outputs:
loss: shape=(3,), dtype=float32
[1.6194162, 1.0470278, 1.3823912]
test_cc_sce_none_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss, log_prob)
Attributes:
reduction = "none"
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
Outputs:
loss: shape=(3,), dtype=float32
[1.6194162, 1.0470278, 1.3823912]
log_prob: shape=(3, 5), dtype=float32
[[-1.8194163, -1.7194164, -1.6194162, -1.5194163, -1.4194163],
[-1.0470278, -1.5470278, -1.8470278, -1.9470278, -1.9970279],
[-2.3823915, -1.8823912, -1.4823914, -1.2823913, -1.3823912]]
test_cc_sce_none_weights
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss)
Attributes:
reduction = "none"
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
weights: shape=(5,), dtype=float32
[0.2, 0.3, 0.6, 0.1, 0.5]
Outputs:
loss: shape=(3,), dtype=float32
[0.97164977, 0.20940557, 0.6911956 ]
test_cc_sce_none_weights_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (loss, log_prob)
Attributes:
reduction = "none"
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
weights: shape=(5,), dtype=float32
[0.2, 0.3, 0.6, 0.1, 0.5]
Outputs:
loss: shape=(3,), dtype=float32
[0.97164977, 0.20940557, 0.6911956 ]
log_prob: shape=(3, 5), dtype=float32
[[-1.8194163, -1.7194164, -1.6194162, -1.5194163, -1.4194163],
[-1.0470278, -1.5470278, -1.8470278, -1.9470278, -1.9970279],
[-2.3823915, -1.8823912, -1.4823914, -1.2823913, -1.3823912]]
test_cc_sce_sum
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss)
Attributes:
reduction = "sum"
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
Outputs:
loss: shape=(), dtype=float32
4.0488353
test_cc_sce_sum_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (loss, log_prob)
Attributes:
reduction = "sum"
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
Outputs:
loss: shape=(), dtype=float32
4.0488353
log_prob: shape=(3, 5), dtype=float32
[[-1.8194163, -1.7194164, -1.6194162, -1.5194163, -1.4194163],
[-1.0470278, -1.5470278, -1.8470278, -1.9470278, -1.9970279],
[-2.3823915, -1.8823912, -1.4823914, -1.2823913, -1.3823912]]
test_cc_softmax_cross_entropy_loss_log_prob
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (output, log_prob)
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
Outputs:
output: shape=(), dtype=float32
1.3496118
log_prob: shape=(3, 5), dtype=float32
[[-1.8194163, -1.7194164, -1.6194162, -1.5194163, -1.4194163],
[-1.0470278, -1.5470278, -1.8470278, -1.9470278, -1.9970279],
[-2.3823915, -1.8823912, -1.4823914, -1.2823913, -1.3823912]]
test_cc_softmax_cross_entropy_loss_mean
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (output)
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
Outputs:
output: shape=(), dtype=float32
1.3496118
test_cc_softmax_cross_entropy_loss_none
Node:
SoftmaxCrossEntropyLoss(scores, labels) -> (output)
Attributes:
reduction = "none"
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
Outputs:
output: shape=(3,), dtype=float32
[1.6194162, 1.0470278, 1.3823912]
test_cc_softmax_cross_entropy_loss_weighted_sum
Node:
SoftmaxCrossEntropyLoss(scores, labels, weights) -> (output)
Attributes:
reduction = "sum"
Inputs:
scores: shape=(3, 5), dtype=float32
[[ 0.1 , 0.2 , 0.3 , 0.4 , 0.5 ],
[ 1. , 0.5 , 0.2 , 0.1 , 0.05],
[-0.2 , 0.3 , 0.7 , 0.9 , 0.8 ]]
labels: shape=(3,), dtype=int64
[2, 0, 4]
weights: shape=(5,), dtype=float32
[0.2, 0.3, 0.6, 0.1, 0.5]
Outputs:
output: shape=(), dtype=float32
1.8722509
Differences with previous version (12)#
SchemaDiff: SoftmaxCrossEntropyLoss (domain 'ai.onnx')
old version: 12
new version: 13
breaking: no
Type constraints:
changed ‘T’: added types: [‘tensor(bfloat16)’]
Documentation:
line similarity: 0.48 (+23/-14 lines)
--- SoftmaxCrossEntropyLoss v12
+++ SoftmaxCrossEntropyLoss v13
@@ -6,26 +6,35 @@
the loss tensor L may have (N, D1, D2, ..., Dk) as its shape and L[i,][j_1][j_2]...[j_k] denotes a scalar element in L.
After L is available, this operator can optionally do a reduction operator.
-shape(scores): (N, C) where C is the number of classes, or (N, C, D1, D2,..., Dk),
- with K >= 1 in case of K-dimensional loss.
-shape(labels): (N) where each value is 0 <= labels[i] <= C-1, or (N, D1, D2,..., Dk),
- with K >= 1 in case of K-dimensional loss.
+* shape(scores): (N, C) where C is the number of classes, or (N, C, D1, D2,..., Dk),
+ with K >= 1 in case of K-dimensional loss.
+* shape(labels): (N) where each value is 0 <= labels[i] <= C-1, or (N, D1, D2,..., Dk),
+ with K >= 1 in case of K-dimensional loss.
The loss for one sample, l_i, can calculated as follows:
- l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk], where i is the index of classes.
+```
+l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk], where i is the index of classes.
+```
or
- l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk] * weights[c], if 'weights' is provided.
+```
+l[i][d1][d2]...[dk] = -y[i][c][d1][d2]..[dk] * weights[c], if 'weights' is provided.
+```
loss is zero for the case when label-value equals ignore_index.
- l[i][d1][d2]...[dk] = 0, when labels[n][d1][d2]...[dk] = ignore_index
+```
+l[i][d1][d2]...[dk] = 0, when labels[n][d1][d2]...[dk] = ignore_index
+```
where:
- p = Softmax(scores)
- y = Log(p)
- c = labels[i][d1][d2]...[dk]
+```
+p = Softmax(scores)
+y = Log(p)
+c = labels[i][d1][d2]...[dk]
+```
Finally, L is optionally reduced:
-If reduction = 'none', the output is L with shape (N, D1, D2, ..., Dk).
-If reduction = 'sum', the output is scalar: Sum(L).
-If reduction = 'mean', the output is scalar: ReduceMean(L), or if weight is provided: ReduceSum(L) / ReduceSum(W),
-where tensor W is of shape (N, D1, D2, ..., Dk) and W[n][d1][d2]...[dk] = weights[labels[i][d1][d2]...[dk]].
+
+* If reduction = 'none', the output is L with shape (N, D1, D2, ..., Dk).
+* If reduction = 'sum', the output is scalar: Sum(L).
+* If reduction = 'mean', the output is scalar: ReduceMean(L), or if weight is provided: `ReduceSum(L) / ReduceSum(W)`,
+ where tensor W is of shape `(N, D1, D2, ..., Dk)` and `W[n][d1][d2]...[dk] = weights[labels[i][d1][d2]...[dk]]`.