Jupyter Notebookien parhaat käytännöt
Numeroidut solut, tulosten tyhjentäminen ennen commitoimista ja papermill parametrisoituun suorittamiseen.
Jupyter Notebookien parhaat käytännöt on ilmainen Oppikaa tekoälyä Pythonilla-oppitunti CoddyKitissä. Tämä on oppitunti 4/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.
Muistikirja on kaksiteräinen miekka
Jupyter-muistikirjat sopivat erinomaisesti tutkimiseen: koodia suoritetaan soluissa, kuvaajat näytetään suoraan muistikirjassa ja kokeiluja voi tehdä nopeasti. Sama joustavuus johtaa kuitenkin helposti sekavaan ja toistamattomaan työskentelyyn, jos työskentelyssä ei olla kurinalaisia.
Tässä oppitunnissa käsitellään tapoja, joilla muistikirjat pysyvät siisteinä ja luotettavina.
Piilotila: perusongelma
Voitte suorittaa solut missä järjestyksessä tahansa, ja aiemmat tulokset säilyvät muistissa. Tämä piilotila tarkoittaa, että muistikirja voi näyttää oikeita tuloksia, joita mikään uusi suoritus ei pysty toistamaan.
Lähes kaikki muistikirjojen parhaat käytännöt pyrkivät torjumaan piilotilaa.
Suorittakaa solut peräkkäin
Suoritusnumeroiden (solujen vieressä näkyvien [1]- ja [2]-merkintöjen) pitäisi kasvaa ylhäältä alaspäin. Epäjärjestyksessä olevat numerot, kuten [7] ennen numeroa [3], ovat varoitusmerkki siitä, että muistikirja riippuu piilotilasta.
Kirjoittakaa muistikirjat niin, että ne ovat järkeviä, kun niitä luetaan suoraan ylhäältä alas.
Käynnistäkää ydin uudelleen ja suorittakaa kaikki
Kultainen sääntö: ennen kuin luotatte muistikirjaan tai viette sen versionhallintaan, suorittakaa Kernel → Restart & Run All. Tämä tyhjentää muistin ja suorittaa jokaisen solun alusta alkaen.
Jos suoritus onnistuu siististi ylhäältä alas, muistikirja on toistettava. Jos se rikkoutuu, löysitte piilotilaan liittyviä virheitä.
Pitäkää solut keskittyneinä
Yksi looginen vaihe solua kohden tekee muistikirjoista luettavia ja uudelleen suoritettavia. Välttäkää valtavia soluja, jotka tekevät kymmentä asiaa, mutta älkää myöskään hajottako yhtä toimintoa moniin pieniin soluihin.
Käyttäkää Markdown-soluja osioiden selittämiseen raportin tapaan.
Siirtäkää uudelleenkäytettävä koodi moduuleihin
Kun jokin funktio osoittautuu hyödylliseksi, siirtäkää se muistikirjasta hakemistoon src/ ja tuokaa se sieltä käyttöön. Näin muistikirjat pysyvät suppeina, koodi on testattavaa ja eri muistikirjoihin ei synny kopioi ja liitä -muutoksia.
from src.features.build_features import make_features
X = make_features(df) # logic lives in a tested moduleTulosteiden erojen ongelma
Muistikirjat tallentavat solujen tulosteet (tekstit, suuret taulukot ja base64-kuvat) tiedoston .ipynb JSON-sisältöön. Niiden vieminen versionhallintaan tekee Git-eroista valtavia ja meluisia ja saattaa vuotaa tietoja.
Ratkaisu: poistakaa tulosteet ennen versionhallintaan viemistä.
Tulosteiden tyhjentäminen nbstripoutilla
nbstripout poistaa muistikirjojen tulosteet automaattisesti. Asentakaa se Git-suodattimeksi, jolloin tulosteet poistetaan jokaisen commitin yhteydessä ilman, että sitä tarvitsee muistaa erikseen.
# pip install nbstripout
nbstripout --install # adds a git filter for this repo
# now committed notebooks have clean, output-free diffsMuistikirjojen parametrien määrittäminen papermillilla
papermill suorittaa muistikirjan ohjelmallisesti syötettyjen parametrien avulla funktion kutsumisen tapaan. Merkitkää solu parameters-soluksi, jolloin papermill korvaa sen arvot kunkin ajon yhteydessä.
# pip install papermill
# papermill analysis.ipynb out.ipynb -p dataset "may.csv" -p seed 42Parametroidut ajot koodissa
Voitte ohjata papermilliä myös Pythonista ja suorittaa saman analyysimuistikirjan useilla syötteillä – tämä on selkeä tapa eräajaa kokeita.
import papermill as pm
for ds in ["jan.csv", "feb.csv", "mar.csv"]:
pm.execute_notebook(
"analysis.ipynb",
f"out_{ds}.ipynb",
parameters={"dataset": ds, "seed": 42},
)Muistikirjan siisteyden tarkistuslista
Ennen muistikirjan jakamista tai viemistä versionhallintaan:
- Käynnistäkää ydin uudelleen ja suorittakaa kaikki – suorituksen on onnistuttava siististi
- Solut suoritetaan ylhäältä alas kasvavin suoritusnumeroin
- Uudelleenkäytettävä logiikka on siirretty hakemistoon
src/ - Tulosteet on poistettu (nbstripout)
- Markdown kertoo työn etenemisen
Pikatarkistus: muistikirjaan luottaminen
Ennen versionhallintaan viemistä haluatte varmistaa, että muistikirja on toistettava eikä siinä ole piilotilaan liittyviä virheitä.
Kertaus: muistikirjojen parhaat käytännöt
Opitte pitämään muistikirjat siisteinä ja toistettavina:
- Torjukaa piilotila – suorittakaa solut peräkkäin
- Käynnistäkää ydin uudelleen ja suorittakaa kaikki ennen luottamista tai versionhallintaan viemistä
- Siirtäkää uudelleenkäytettävä koodi
src/-moduuleihin - nbstripout tulosteiden poistamiseen ja siistien Git-erojen luomiseen
- papermill parametroituihin ja eräajettaviin muistikirjoihin
Tähän päättyy tekoälyprojektin rakenteen ja Git-työnkulun kurssi.
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 ”Jupyter Notebookien parhaat käytännöt” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Oppikaa tekoälyä Pythonilla-oppimispolun 3 oppituntia, myös oppitunnin “Jupyter Notebookien parhaat käytännöt”. 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 ”Jupyter Notebookien parhaat käytännöt”?
Numeroidut solut, tulosten tyhjentäminen ennen commitoimista ja papermill parametrisoituun suorittamiseen. 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 4/4.
Kuinka kauan ”Jupyter Notebookien parhaat käytännöt”-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
- Ammattimaisen tekoälyprojektin hakemistorakenne
- Git tekoälyprojekteissa
- Toistettavuus: siemenluvut, asetukset ja ympäristöt
- Jupyter Notebookien parhaat käytännöt