Hoppa till innehållet
AI-grafen
D· AI-utvecklareLaboration· ca 60 min· container

Labb: träna en sifferklassificerare i PyTorch

Bygga nn.Module, DataLoader, träningsloop med CrossEntropyLoss och utvärdering på hållen data — och nå ≥ 92 % på 8×8-siffror.

Lär ut: trana-ett-neuronnat-i-pytorch · Kräver: pytorch-grunderbackpropagation

Teori

Nollställ, forward, loss, backward, steg. CrossEntropyLoss tar logits. Validera på data modellen inte sett.

Deluppgifter

  1. modellen — `make_model()` returnerar ett nn.Sequential 64 → 64 → 10 med ReLU.
  2. ett träningssteg — `train_step(model, opt, loss_fn, X, y)` gör ett steg och returnerar lossen som float.
  3. träna och utvärdera — `fit(epochs, lr, seed)` tränar på sklearn digits (train 80 %) och returnerar valideringsaccuracy.

Evals: digits-acc (accuracy >= 0.92)

Logga in för att köra laborationen.

Förväntade resultat

Valideringsaccuracy ≥ 0,92 efter ~20 epoker med Adam lr 1e-2 (ofta 0,96+).

Vanliga fel

  • Softmax före CrossEntropyLoss (dubbel softmax) → långsam träning.
  • Utvärderar på träningsdata → falskt hög accuracy.
  • Glömmer model.eval()/torch.no_grad() vid utvärdering.