0Pricing
MLOps Academy · Lekcja

Ustalanie ziarna losowości dla powtarzalnych uruchomień

Kontroluj ziarna losowości w NumPy, PyTorch i Pythonie

Ustalanie ziarna losowości dla powtarzalnych uruchomień to bezpłatna lekcja MLOps Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej MLOps Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs MLOps Academy zawiera 4 lekcji w sumie.

Dlaczego przebiegi się różnią

ML wykorzystuje losowość podczas tasowania, dzielenia danych i inicjalizacji wag. Dwa uruchomienia dają dwa różne modele. Ustawienie ziarna sprawia, że losowość staje się powtarzalna. 🎲

Czym jest ziarno

Ziarno to liczba początkowa generatora losowego. Ta sama wartość ziarna daje tę samą sekwencję liczb losowych.

Ustaw ziarno dla czystego Pythona

Własny moduł random Pythona wymaga użycia random.seed, aby tasowanie wykonywane w zwykłym Pythonie było odtwarzalne.

import random
random.seed(42)

Ustaw ziarno dla NumPy

Większość operacji na danych przechodzi przez NumPy, dlatego ustaw np.random.seed, aby ustalić tasowanie tablic i próbkowanie.

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

Ustaw ziarno dla PyTorch

Inicjalizacja w głębokim uczeniu i dropout korzystają z generatora PyTorch, dlatego wywołaj torch.manual_seed przed utworzeniem modelu.

import torch
torch.manual_seed(42)

Nie zapomnij o GPU

CUDA ma własny stan losowy, dlatego ustaw dla niego ziarno osobno. cuda.manual_seed_all obejmuje jednocześnie wszystkie urządzenia GPU.

torch.cuda.manual_seed_all(42)

Ustaw ziarno dla podziałów scikit-learn

Przekaż random_state do funkcji takich jak train_test_split, aby w każdym uruchomieniu te same wiersze trafiały do tego samego podziału.

train_test_split(X, y, random_state=42)

Jedna funkcja pomocnicza do wszystkiego

Połącz wszystkie wywołania ustawiające ziarno w jednej funkcji set_seed. Wywołaj ją raz podczas uruchamiania, aby niczego nie pominąć.

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

Wymuś deterministyczne kernele

Niektóre kernele GPU pozostają losowe nawet po ustawieniu ziarna. Włącz tryb deterministic w PyTorch, aby wymusić powtarzalne obliczenia.

torch.use_deterministic_algorithms(True)

Zarejestruj ziarno

Zawsze zapisuj używaną wartość ziarna razem z przebiegiem. Wynik, którego nie można odtworzyć, nie jest wynikiem, któremu można zaufać.

Odtwarzalność nie oznacza identycznego sprzętu

Nawet przy ustawionych ziarnach wyniki mogą się różnić na innym sprzęcie lub przy innych wersjach bibliotek. Te elementy również przypnij, aby uzyskać prawdziwą powtarzalność.

Szybkie sprawdzenie

Ustawiono ziarna dla Pythona i NumPy, ale model PyTorch nadal daje różne wyniki. O czym zapomniano?

Podsumowanie

Nauczono się ustawiać ziarno dla każdego źródła losowości: Pythona, NumPy, PyTorch, CUDA i sklearn, a następnie rejestrować ziarno, aby uzyskiwać powtarzalne przebiegi. 🔁

Często zadawane pytania

Czy lekcja „Ustalanie ziarna losowości dla powtarzalnych uruchomień” jest bezpłatna?

Tak — pełny tekst „Ustalanie ziarna losowości dla powtarzalnych uruchomień” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu MLOps Academy, przejdź na CoddyKit PRO. Kurs MLOps Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Ustalanie ziarna losowości dla powtarzalnych uruchomień”?

Kontroluj ziarna losowości w NumPy, PyTorch i Pythonie Ćwiczysz MLOps Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć MLOps Academy?

Nie wymagamy żadnego doświadczenia. MLOps Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Ustalanie ziarna losowości dla powtarzalnych uruchomień”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji MLOps Academy?

Tak. Każda lekcja MLOps Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Przypinanie zależności za pomocą requirements.txt
  2. Izolowanie projektów za pomocą środowisk wirtualnych
  3. Ustalanie ziarna losowości dla powtarzalnych uruchomień
  4. Zapisywanie pełnej konfiguracji uruchomienia
← Powrót do MLOps Academy