D· AI-utvecklareLaboration· ca 45 min· wasm
Labb: matrismultiplikation och ett lager i ett neuronnät
Implementera matris–vektor- och matris–matris-multiplikation med loopar, verifiera mot NumPy, och bygga ett lager `W x + b` med ReLU.
Teori
(AB)ᵢⱼ = Σₖ Aᵢₖ Bₖⱼ: rad i i A gånger kolumn j i B. Dimensionerna måste matcha: m×n gånger n×p ger m×p. Ett lager i ett nät är exakt detta plus en böj.
Deluppgifter
- matvec — `matvec(A, x)` med listor av listor.
- matmul — `matmul(A, B)` — kasta ValueError om dimensionerna inte matchar.
- lager — `lager(W, x, b)` = ReLU(W x + b).
Logga in för att köra laborationen.
Förväntade resultat
matvec([[1,2],[3,4]],[5,6]) = [17, 39]; 5×3 · 3×7 → 5×7; 3×4 · 3×4 → ValueError; lager ger inga negativa tal.
Vanliga fel
- Byter rad och kolumn i inre loopen.
- Glömmer kontrollera
len(A[0]) == len(B). - ReLU på fel ställe (före bias).