verifySoftmax function

void verifySoftmax()

Implementation

void verifySoftmax() {
  final x = Tensor.fromList([1, 3], [1.0, 2.0, 3.0]);

  final y = x.softmax();
  final data = y.fetchData(); // Use fetchData instead of .data

  bool forwardOk = closeEnough(data[0], 0.0900) && closeEnough(data[2], 0.6652);

  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'}");
}