Fastai | Kuidas alustada?

Miks see küsimus?

Küsimus “Kuidas Fastaiga alustada?” Võib tunduda ebatäpne.

Vaadake lihtsalt esimest videot, eks? Ei

Mul on Fastaiga topeltkogemus. Olin esmakordselt selle rahvusvahelise sõprusprogrammi (1. ja 2. osa) liige alates 2017. aasta oktoobrist. Seejärel käivitasin koos teiste kolleegidega 2018. aastal Brasiliasse esimese sügava õppe õpperühma Fastai kursuse abil (1. osa, siis täna nii 2. osa kui ka ML-i käsitlev osa). Nii sai minust ka Fastai sisu kasutav juhendaja.

Just selle topeltkogemuse põhjal Fastaiga avaldan täna selle alustamisjuhendi nii meie Brasilia kursusel osalejatele kui ka kõigile neile, kes soovivad alustada oma tehisintellekti (AI) reisi, kasutades selleks Fastai raamatukogu.

Masinõpe mõne sõnaga

Päev, mil maailmas tuleb esimene tehisintellektiga beebi, pole homne. Praegu peab iga AI olema inimese loodud ... ja selleks vajame koodi!

Väljaspool robotit ja geneetilist manipuleerimist toimub AI algoritmi vormis, mida tuleb õppida õppima (sageli kunstlike närvivõrkude mudel).

Praktikas on algoritmi parameetritel (nimetatakse ka kaaludeks) algselt juhuslikud väärtused, mida värskendatakse, kasutades vaatlustele (nimetatakse ka näideteks), mis antakse algoritmile. Seda meetodit nimetatakse “andmestikust õppimiseks” või masinõppeks (tänapäeval on väga populaarsed ja laialdaselt kasutatavad süvaõppe meetodid masinõpe, millel on suur arvutus sügavus).

Tõepoolest, iga algoritmile lisatud vaatlus võimaldab arvutada selle vaatluse olemuse ennustava tulemuse (sageli tõenäosuse) selle parameetritega tehtud matemaatiliste toimingute abil (näiteks kui vaatlus on kassi pilt, siis ennustav tulemus peab näitama kassile vastavat klassi). Seejärel võimaldab viga vaatluse tegeliku väärtuse suhtes parameetrite väärtusi värskendada (sageli kasutades vea gradiendi BackPropagation meetodit).

Seejärel jätkatakse koolitust uue vaatlusega jne.

Raamatukogud masinõppe rakendamiseks

Masinõpe (ML) on seega andmete, arvutusvõime ja algoritmide olemasolu. Seetõttu peame nende algoritmide rakendamiseks, koolitamiseks, testimiseks ja tootmises kasutamiseks kodeerimiseks kasutama keelt.

Alates 2010. aastate algusest, mis tähistab AI laiaulatusliku kasutamise algust, on Pythoni keel muutunud Jupyteri sülearvutites ML ja Deep Learning (DL) algoritmide väljatöötamise keeleks.

Kuna nende algoritmide arhitektuure hakatakse standardiseerima, on välja töötatud raamatukogud, et hõlbustada nende kasutamist TensorFlow (Google) koos Kerasega, seejärel PyTorch (Facebook) koos Fastaiga.

Fastai, rohkem kui raamatukogu

Fastai on nii ML- kui DL-algoritmide rakendusraamatukogu ning ka San Francisco ülikooli andmeinstituudis alguse saanud kursuse pealkiri, mis on nüüd veebis saadaval (1 kursus ML-i kohta ja 2 kursust DL-i kohta).

Kuid selle loojad Jeremy HOWARD ja Rachel THOMAS läksid kaugemale. See on ka uus ülalt alla õppimismeetod, mis võimaldab õppimist tehes, ning ka tänapäeval enam kui 10 000 inimesest koosnevat kogukonda (loe Jeremy Howardi „Launching fast.ai“, oktoober 2016).

Igal kursusel on Fastai teegi kaudu vabalt allalaaditav video, foorumilõng ja jupyteri märkmikud.

Kuidas Fastaiga alustada? Juhend neljas etapis

Nägin, et meie Brasilia kursusel oli liiga palju osalejaid, et kas peatuda või mitte olla võimeline kursuse eeliseid kasutama 4 peamise põhjuse tõttu: python, Jupyteri märkmikud, GPU ja kodutöö.

1) Python

Python on Fastai kursusel ja selle sülearvutites kasutatav programmeerimiskeel. Kui Fastai kursuse läbimiseks pole tingimata vaja pütoonispetsialistina tegutseda, on vajalik minimaalne harjutamine.

Veebikursused:

  • Esimene Pythoni märkmik
  • Pythoni andmeteaduse õpetused
  • Pythoni kursused kursusel Coursera
  • Raamat: Sügav õppimine Pythoniga (François Chollet)

2 järgnevat Pythoni teeki on Fastai märkmikes väga kasutusel, kuid kursuse ajal saate neid õppida (need ei ole eeltingimused).

NumPy

NumPy on Pythoni abil teadusliku arvutamise põhipakett. See võimaldab matemaatilisi operatsioone massiividega, maatriksitega, vektoritega ja kõrgmõõtmeliste tenoritega, justkui need oleksid Pythoni muutujad.

Veebikursused: Numpy juhendaja ja Python Numpy juhendaja.

Pandad

Pandas on avatud lähtekoodiga, BSD-litsentsiga raamatukogu, mis pakub Pythoni programmeerimiskeele jaoks kõrgjõudlusega ja hõlpsasti kasutatavaid andmestruktuure (nt csv-faile) ja andmete analüüsimise tööriistu. Pandas töötab NumPy-ga väga hästi.

  • Curso de introdução a Análise de Dados (em português)
  • Veebikursused: pandade õpetuste loetelu.

2) Jupyteri märkmik

Projekt Jupyter on loodud avatud lähtekoodiga tarkvara, avatud standardite ja teenuste arendamiseks interaktiivseks arvutiks kümnetes programmeerimiskeeltes ja eriti Pythonis. Kõigi oma ML- või DL-algoritmide rakendamiseks kasutate Jupyteri märkmikku.

Veebikursused:

  • 1: 30: 521: Sissejuhatus Jupyteri märkmikesse
  • Jupyteri sülearvuti käsud ja otseteed
    - Jupyteri sülearvuti käsud ja otseteed1
    - 28 Jupyteri sülearvuti näpunäidet, nippe ja otseteid
  • Kasutage jupyteri sülearvuteid „kokkupandavad / laiendatavad jupyteri lahtrid”
  • Galerii huvitavatest Jupyteri sülearvutitest: https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks1

3) GPU

Kui olete vähemalt Pythoni teada ja teadnud Jupyteri märkmikku kasutada, peate installima Fastai teegi ja selle märkmikud GPU-ga serverisse.

Märkus. Kui teil pole kohalikku NVIDIA GPU-d ja kui te ei soovi seda võrgus kasutada, saate installida arvutisse Fastai ja kasutada ainult oma CPU-d, kuid siis võib ML-i koolitustulemuste saamine veidi aega võtta. / DL-mudel ...

Miks just GPU? Koolituse aja vähendamiseks vajate seda ML- või DL-algoritmi treenimisel. Ilma GPU-ta ei saa te miljonite andmetega ML- või DL-algoritmi “hõlpsalt” treenida.

Lisaks kohalikule protsessori installeerimisele on teil kaks võimalust: konfigureerige kohalik GPU, kui teie arvutis on selline, nagu NVIDIA GPU, või saate selle veebis rentida, kasutades Google Cloud, Google Colab, PaperSpace, AWS või teisi.

Veebijuhendid: lugege artikli “Deep Learning Brasília - Revisão” lõiku “GPU (Graphic Processing Units)” või linke seguintes.

CPU kohalik

Lugege dokumenti README.md, kuid järgige järgmisi samme:

  1. installige Windowsi jaoks Anaconda
  2. Avab terminali „Anaconda kiire” (mille paigaldas Anaconda) ja nummerdab selles terminalis järgmised käsud.
  3. mkdir fastai (kausta fastai loomiseks)
  4. cd fastai (kausta sisestamiseks fastai)
  5. git-kloon https://github.com/fastai/fastai.git (failide Fastai allalaadimiseks koos märkmikega ja failide allalaadimiseks Fastai-cpu virtuaalse keskkonna installimiseks: pytorch, tuimad raamatukogud, pandad, bcolz jne)
  6. conda env update -f environment-cpu.yml (TÄHTIS: kasutage faili environment-cpu.yml, kuna soovite kasutada oma CPU-d, mitte GPU-d)
  7. conda aktiveeri fastai-cpu (virtuaalse keskkonna aktiveerimiseks fastai-cpu)
  8. CD kursused \ ml1 (sisestage näiteks kausta ml1)
  9. del fastai (kustutage sümbol fastai, mis loodi bash keskkonnas käitamiseks)
  10. mklink / d fastai .. \ .. \ fastai (loo sümmellitavad aknad fastai kausta fastai, millel on Fastai teegi failid)
  11. cd .. \ .. (3. sammus loodud kausta juure juurde naasmiseks väljuge kaustast ml1)
  12. jupyteri märkmik (käivitage veebibrauseris avanev jupyteri märkmik)

„Et voilà”: teie arvutisse on CPU-ga installitud Fastai raamatukogu (ja selle sülearvutid) ning saate käitada kõiki kausta ml1 sülearvuteid.

GPU kohalik

  • Howto: installimine Windowsi

GPU võrgus

  • Google'i pilveplatvorm (krediit 300 dollarit)
  • Paperspace (krediit 15 $)
  • Clouderizer + Google Colab (TASUTA !!!)
  • Amazoni veebiteenused (AWS)
  • Crestle

Ärge unustage oma virtuaalset masinat välja lülitada !!!

4) kodutöö

Jeremy Howard räägib oma klassi iga video kohta 10 tundi isiklikku tööd ... ja tal on õigus!

Tõepoolest, kui soovite õppida, kuidas teha ML-i ja DL-i, ning mitte ainult mõistma põhimõtteid, peate PRAKTIKA.

Ülaltoodud elemendid (kokkuvõtlikult: python-keele tundmine ja Jupyteri sülearvuti kasutamine ning Fastai teegi installimine GPU-le) on VAJALIKUD eeltingimused, kuid mitte piisavad.

Tõeliseks õppimiseks peate vaatama mitu korda videoid, käitama Fastai märkmikke, uurima koodide ridu, esitama Fastai foorumis küsimusi, kui te ei mõista, vastama teiste esitatud küsimustele ja avaldama oma mõistmise parandamiseks artikleid. See on tõeline õppimine!

Veel üks sõna: RÕÕMU! :-)