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

Labb: tensorer, autograd och din första träningsloop

Räkna gradienter med autograd, jämföra med handräkning, och träna en linjär modell med en riktig loop.

Lär ut: pytorch-grunder · Kräver: gradient-descentmatriser

Teori

requires_grad=True spårar tensorn, .backward() fyller .grad, gradienter ackumuleras — nollställ varje steg. torch.no_grad() stänger av spårning när du uppdaterar vikter för hand.

Deluppgifter

  1. gradient med autograd — `grad_of(f, x0)` returnerar df/dx i x0 med autograd, där f är en Python-funktion på en tensor.
  2. gd_steps — `gd_steps(f, x0, lr, steps)` gör gradient descent på f med autograd och nollställer gradienten varje steg.
  3. train_linear — `train_linear(X, y, lr, steps)` tränar w, b (MSE) och returnerar (w, b).

Evals: linear-mse (mse <= 0.05)

Logga in för att köra laborationen.

Förväntade resultat

grad_of(lambda x: x**2 + 2*x, 3.0) = 8; gd_steps på (x−3)² når ≈3; linjär modell på y = 2x + 1 + brus ger MSE < 0,05.

Vanliga fel

  • Glömmer zero_() → gradienten ackumuleras och stegen blir fel.
  • Uppdaterar vikter utan torch.no_grad() → autograd-fel.
  • .item() saknas när ett tal ska returneras.