verifySoftmax function
void
verifySoftmax()
Implementation
void verifySoftmax() {
// 1 row, 3 classes
final x = Tensor.fromList([1, 3], [1.0, 2.0, 3.0]);
// Softmax forward check
final y = x.softmax();
final data = y.data;
// Expected values for [1, 2, 3]: [0.0900, 0.2447, 0.6652]
bool forwardOk = closeEnough(data[0], 0.0900) && closeEnough(data[2], 0.6652);
// Gradient Check: d(sum(softmax(x)))/dx should be 0.0
final loss = y.sum();
loss.backward();
final grads = x.grad;
bool gradOk = grads.every((g) => closeEnough(g, 0.0, 1e-5));
print(
"SOFTMAX: ${forwardOk && gradOk ? '✅ PASS' : '❌ FAIL (Grads should be 0, got $grads)'}",
);
}