Hoppa till innehållet
AI-grafen
DAI-utvecklareLaboration· ca 45 min· i webbläsaren

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

  1. matvec — matvec(A, x) med listor av listor.
  2. matmul — matmul(A, B) — kasta ValueError om dimensionerna inte matchar.
  3. lager — lager(W, x, b) = ReLU(W x + b).

Startkoden

körs i din webbläsare
def matvec(A, x):
    # TODO: en skalärprodukt per rad
    ...


def matmul(A, B):
    # TODO: kontrollera dimensioner, tre loopar
    ...


def lager(W, x, b):
    # TODO: ReLU(W x + b)
    ...

Du skriver koden, tester du inte ser avgör om den håller. Skapa ett gratis konto för att köra labben.

Prova diagnosenSkapa konto gratis

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).