MLOps Academy · leksjon

Initialiser tilfeldighet for kjøringer som kan gjentas

Kontroller tilfeldighetsfrø på tvers av NumPy, PyTorch og Python.

Leksjon 3 av 413 trinn

Initialiser tilfeldighet for kjøringer som kan gjentas er en gratis leksjon i MLOps Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i MLOps Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i MLOps Academy inneholder totalt 4 leksjoner.

Hvorfor kjøringer varierer

ML bruker tilfeldighet til stokking, oppdeling og initialisering av vekter. Kjører du to ganger, får du to ulike modeller. Såing gjør tilfeldighetene reproduserbare. 🎲

Hva en seed er

Et seed er et starttall for tilfeldighetsgeneratoren. Det samme seed-verdien inn gir den samme sekvensen av tilfeldige tall ut.

Angi seed for ren Python

Pythons egen random-modul trenger random.seed for at stokking i ren Python skal bli reproduserbar.

import random
random.seed(42)

Angi seed for NumPy

Det meste av dataarbeidet går gjennom NumPy, så angi np.random.seed for å gjøre stokking og utvalg av tabeller reproduserbart.

import numpy as np
np.random.seed(42)

Angi seed for PyTorch

Initialisering i dyp læring og dropout bruker generatoren i PyTorch, så kall torch.manual_seed før du bygger modellen.

import torch
torch.manual_seed(42)

Ikke glem GPU-en

CUDA har sin egen tilfeldighetstilstand, så den må få et eget seed. cuda.manual_seed_all dekker alle GPU-enheter samtidig.

torch.cuda.manual_seed_all(42)

Angi seed for oppdelinger i scikit-learn

Send random_state til funksjoner som train_test_split, slik at de samme radene havner i den samme oppdelingen ved hver kjøring.

train_test_split(X, y, random_state=42)

Én hjelpefunksjon for alt

Samle alle kallene for seed i én enkelt funksjon kalt set_seed. Kall den én gang ved oppstart, slik at ingenting blir glemt.

def set_seed(s):
    random.seed(s)
    np.random.seed(s)
    torch.manual_seed(s)

Tving frem deterministiske kjerner

Noen GPU-kjerner forblir tilfeldige selv etter at du har angitt seed. Slå på deterministic-modus i PyTorch for å tvinge frem repeterbar matematikk.

torch.use_deterministic_algorithms(True)

Logg seed-verdien

Registrer alltid seed-verdien du brukte, sammen med kjøringen. Et resultat du ikke kan reprodusere, er et resultat du ikke kan stole på.

Reproduserbart, men ikke identisk maskinvare

Selv med seed-verdier kan resultatene endre seg på ulik maskinvare eller med andre bibliotekversjoner. Lås derfor også disse for ekte repeterbarhet.

Rask sjekk

Du angav seed for Python og NumPy, men PyTorch-modellen varierer fortsatt. Hva mangler du?

Oppsummering

Du lærte å angi seed for alle kilder til tilfeldighet – Python, NumPy, PyTorch, CUDA og sklearn – og deretter logge seed-verdien for repeterbare kjøringer. 🔁

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Initialiser tilfeldighet for kjøringer som kan gjentas» gratis?

Ja – hele teksten i «Initialiser tilfeldighet for kjøringer som kan gjentas» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av MLOps Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i MLOps Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Initialiser tilfeldighet for kjøringer som kan gjentas»?

Kontroller tilfeldighetsfrø på tvers av NumPy, PyTorch og Python. Du øver på MLOps Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med MLOps Academy?

Ingen tidligere erfaring er nødvendig. MLOps Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Initialiser tilfeldighet for kjøringer som kan gjentas»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne MLOps Academy-leksjonen?

Ja. Alle MLOps Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Lås avhengigheter med requirements.txt
  2. Isoler prosjekter med virtuelle miljøer
  3. Initialiser tilfeldighet for kjøringer som kan gjentas
  4. Ta vare på hele kjøringskonfigurasjonen
← Tilbake til MLOps Academy