Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

Diagnosing a network that won't train

A loss that won't move, a loss that explodes, and an accuracy that's stuck -- the fixed, ordered checklist for telling a real bug from an unlucky hyperparameter.

Work this checklist in order rather than guessing at hyperparameters -- a genuine bug and a bad learning rate can look identical from the outside, and the ordered checklist is what tells them apart cheaply. Start with the single most informative test available: can the network overfit one tiny batch, perfectly, with regularization turned off? If it can't, the problem is structural (a shape mismatch, a frozen gradient, a label bug), not a matter of tuning, and no amount of learning-rate searching will fix it. Only once that test passes does it make sense to debug symptoms directly -- a loss that won't decrease at all, a loss that explodes to NaN, or an accuracy that's stuck despite the loss moving -- each with its own distinct set of usual causes.

The fixed order

The three symptoms

The usual structural causes

Information from outside the training set (often from the validation or test set) improperly influencing training.
Graph settings

Calculator