Toistettavien ML-putkien rakentaminen
sklearn Pipeline, putkien tallentaminen joblibillä, parametroidut ajot asetustiedostoilla.
Toistettavien ML-putkien rakentaminen on ilmainen Oppikaa tekoälyä Pythonilla-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Oppikaa tekoälyä Pythonilla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Oppikaa tekoälyä Pythonilla-kurssilla on yhteensä 4 oppituntia.
Miksi toistettavuus on tärkeää
Tulos, jota ei voi toistaa, ei ole tiedettä vaan sattumaa. Toistettavat putket varmistavat, että sama data ja asetukset tuottavat aina saman mallin. Tämä on olennaista virheenkorjauksessa, auditoinneissa ja tiimityössä.
sklearn Pipeline
scikit-learnin Pipeline yhdistää esikäsittelyn ja mallin yhdeksi olioksi. Näin koulutuksessa käytetyt täsmälleen samat muunnokset tehdään myös inference-vaiheessa, mikä poistaa opetus- ja palveluvaiheen välisen vinouman.
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
pipe = Pipeline([
("scaler", StandardScaler()),
("model", RandomForestClassifier(n_estimators=200))
])
pipe.fit(X_train, y_train)Pipelinen tallentaminen artefaktina
Koska koko putki on yksi olio, voitte tallentaa sen yhtenä artefaktina ja ladata sen uudelleen missä tahansa. Näin esikäsittely kulkee varmasti mallin mukana.
joblib.dump ja load
joblib serialisoi scikit-learn-oliot tehokkaasti ja käsittelee suuria NumPy-taulukoita paremmin kuin pickle. Tallentakaa sovitettu putki ja ladatkaa se sitten uudelleen palvelua varten.
import joblib
joblib.dump(pipe, "pipeline.joblib") # save
loaded = joblib.load("pipeline.joblib") # reload
preds = loaded.predict(X_new)YAML-asetukset hyperparametreille
Kovakoodatut arvot peittävät sen, mitä asetuksia ajossa käytettiin. Sijoittakaa kaikki hyperparametrit YAML-tiedostoon, jotta jokainen asetus on näkyvä, versionhallittu ja muutettavissa ilman koodin muokkaamista.
# config.yaml
model:
n_estimators: 200
max_depth: 8
data:
test_size: 0.2
random_state: 42Asetusten lataaminen
Lukekaa YAML kerran ohjelman käynnistyessä ja välittäkää arvot putkelle, jotta yksi tiedosto ohjaa koko ajoa.
import yaml
with open("config.yaml") as f:
cfg = yaml.safe_load(f)
model = RandomForestClassifier(
n_estimators=cfg["model"]["n_estimators"],
max_depth=cfg["model"]["max_depth"]
)Satunnaislukusiementen kiinnittäminen
Toistettavuus edellyttää myös satunnaislukusiementen kiinnittämistä kaikkialla: opetus- ja testijaossa, mallin alustuksessa sekä kaikessa sekoittamisessa. Tallentakaa siemen YAML-asetuksiin, jotta se on näkyvä ja yhtenäinen.
from sklearn.model_selection import train_test_split
X_tr, X_te, y_tr, y_te = train_test_split(
X, y, test_size=cfg["data"]["test_size"],
random_state=cfg["data"]["random_state"]
)Makefile toistettaviin vaiheisiin
Makefile muuttaa putken jokaisen vaiheen nimetyn kohteen avulla suoritettavaksi, joten pitkien komentojen muistamisen sijaan voitte suorittaa make train. Tämä yhdenmukaistaa työnkulun koko tiimissä.
Make-kohteiden määrittäminen
Yleisiä kohteita ovat make data, make train ja make evaluate, joista jokainen kutsuu vastaavaa skriptiä.
# Makefile
data:
python src/prepare_data.py
train:
python src/train.py --config config.yaml
evaluate:
python src/evaluate.py --config config.yamlRiippuvuuksien ketjuttaminen
Make-kohteet voivat riippua toisistaan, joten make train suorittaa tarvittaessa ensin kohteen data. Näin putki suoritetaan aina oikeassa järjestyksessä.
train: data
python src/train.py --config config.yamlKokonaisuuden yhdistäminen
Toistettava kokonaisuus koostuu joblib-kirjastolla tallennetusta Pipeline-putkesta, YAML-tiedostoon sijoitetuista hyperparametreista, kiinteistä siemenistä ja Makefile-tiedostosta, joka tarjoaa kohteet make data / train / evaluate. Kuka tahansa voi kloonata repositorion ja toistaa täsmälleen saman mallin.
Pikatesti
Testatkaa toistettavia putkia koskevat tietonne.
Kertaus
Rakensitte toistettavia putkia: sklearn-Pipeline-putken, joka tallennetaan joblib.dump/load-toiminnoilla, YAML-asetustiedoston, joka sisältää kaikki hyperparametrit, kiinteät satunnaislukusiemenet sekä Makefile-tiedoston, jonka kohteina ovat make data / train / evaluate. Seuraavaksi käsitellään tuotannossa olevien mallien seurantaa.
Opi Python tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 53
- Oppitunnit
- 225
Usein kysytyt kysymykset
Onko oppitunti ”Toistettavien ML-putkien rakentaminen” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Oppikaa tekoälyä Pythonilla-oppimispolun 3 oppituntia, myös oppitunnin “Toistettavien ML-putkien rakentaminen”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppikaa tekoälyä Pythonilla-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Toistettavien ML-putkien rakentaminen”?
sklearn Pipeline, putkien tallentaminen joblibillä, parametroidut ajot asetustiedostoilla. Harjoittelet Oppikaa tekoälyä Pythonilla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Oppikaa tekoälyä Pythonilla-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Oppikaa tekoälyä Pythonilla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”Toistettavien ML-putkien rakentaminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Oppikaa tekoälyä Pythonilla-oppitunnilla?
Kyllä. Jokainen Oppikaa tekoälyä Pythonilla-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Kokeiden seuranta MLflow’lla
- Mallirekisteri ja versiointi
- Toistettavien ML-putkien rakentaminen
- Mallin suorituskyvyn valvonta tuotannossa