Fastai | Kā sākt?

Kāpēc šis jautājums?

Jautājums “Kā sākt ar Fastai?” Var šķist nepilnīgs.

Noskatieties tikai pirmo video, vai ne? Nē.

Man ir dubultā pieredze ar Fastai. Sākotnēji es biju tās Starptautiskās stipendiju programmas dalībnieks (1. un 2. daļa) kā students no 2017. gada oktobra. Pēc tam kopā ar citiem kolēģiem es 2018. gadā es izveidoja pirmo dziļo mācību pētījumu grupu Brazīlijā, izmantojot Fastai kursu (1. daļa, tad šodien 2. daļa, kā arī daļa par ML). Tāpēc es arī kļuvu par instruktoru, izmantojot Fastai saturu.

Balstoties uz šo divkāršo pieredzi ar Fastai, es šodien publicēju šo sākuma rokasgrāmatu jaunajiem kursu dalībniekiem Brazīlijā, kā arī visiem tiem, kas vēlas sākt savu ceļojumu uz mākslīgo intelektu (AI), izmantojot Fastai bibliotēka.

Mašīnmācība dažos vārdos

Diena, kad pasaulē nāks pirmais bērniņš ar mākslīgo intelektu, nav paredzēta rītdienai. Pagaidām katrs AI ir jāizveido cilvēkam… un tam mums ir nepieciešams kods!

Ārpus robota un ģenētiskās manipulācijas AI notiek algoritma formā, kas jāapmāca mācīties (bieži tas ir mākslīgo neironu tīklu modelis).

Praksē algoritma parametriem (ko sauc arī par svariem) sākotnēji ir izlases vērtības, kuras tiek atjauninātas, izmantojot novērojumus (tos sauc arī par piemēriem), kas tiek sniegti algoritmam. Šo metodi sauc par “mācīšanos no datu kopas” vai mašīnmācīšanos (mūsdienās ļoti populārās un plaši izmantotās dziļās mācīšanās metodes ir mašīnmācīšanās ar lielu aprēķinu dziļumu).

Patiešām, katrs algoritmam sniegtais novērojums ļauj aprēķināt šī novērojuma rakstura paredzamo rezultātu (bieži vien varbūtību), izmantojot matemātiskas operācijas, kas tiek veiktas ar tā parametriem (piemēram, ja novērojums ir kaķa attēls, prognozējošais rezultātam jānorāda kaķim atbilstošā klase). Pēc tam kļūda attiecībā uz novērojuma patieso vērtību ļauj atjaunināt parametru vērtības (bieži izmantojot kļūdas gradienta BackPropagation metodi).

Pēc tam mācības turpināsies ar jaunu novērojumu un tā tālāk.

Bibliotēkas mašīnmācības ieviešanai

Tādējādi mašīnmācībai (ML) ir jābūt datiem, skaitļošanas spējām… un algoritmiem. Tāpēc kodēšanai ir jāizmanto valoda, lai ieviestu šos algoritmus, apmācītu, pārbaudītu un pēc tam izmantotu ražošanā.

Kopš 2010. gadu sākuma datums, kas apzīmē plaša mēroga AI lietošanas sākumu, Python valoda ir kļuvusi par valodu ML un Deep Learning (DL) algoritmu izstrādei Jupyter piezīmjdatoros.

Tā kā šo algoritmu arhitektūra drīz tiks standartizēta, bibliotēkas ir izstrādātas, lai atvieglotu to izmantošanu kā TensorFlow (Google) ar Keras, pēc tam PyTorch (Facebook) ar Fastai.

Fastai, kas ir vairāk nekā bibliotēka

Fastai ir gan ML, gan DL algoritmu ieviešanas bibliotēka, kā arī kursa nosaukums, kas sākās Sanfrancisko Universitātes Datu institūtā un tagad ir pieejams tiešsaistē (1 kurss par ML un 2 kurss par DL).

Bet tā veidotāji Džeremijs HOWARDS un Rasela THOMAS devās tālāk. Tā ir arī jauna mācīšanās no augšas uz leju metode, kas ļauj mācīties darot, kā arī šodien vairāk nekā 10 000 cilvēku kopiena (lasiet Jeremy Howard, 2016. gada oktobris, “Launching fast.ai”).

Katrā kursā ir brīvi lejupielādējami video, foruma pavedieni un jupyter piezīmju grāmatiņas, kas darbojas caur fastai bibliotēku.

Kā sākt ar Fastai? Ceļvedis 4 posmos

Es redzēju, ka mūsu kursā Brazīlijā ir pārāk daudz dalībnieku, lai apstātos vai nespējētu patiešām izmantot kursu 4 galveno iemeslu dēļ: python, Jupyter piezīmju grāmatiņas, GPU un mājasdarbi.

1) pitons

Python ir programmēšanas valoda, ko lieto Fastai kursā un tā piezīmjdatoros. Ja nav obligāti jābūt python speciālistam, lai sekotu Fastai kursam, ir nepieciešama minimāla prakse.

Tiešsaistes kursi:

  • Pirmais Python piezīmju grāmatiņa
  • Python Data Science konsultācijas
  • Python kursi uz Coursera
  • Grāmata: Dziļās mācības ar pitonu (Fransuā Čollets)

2 sekojošās Python bibliotēkas tiek ļoti izmantotas Fastai piezīmju grāmatiņās, taču kursa laikā tās var iemācīties (tie nav priekšnoteikumi).

NumPy

NumPy ir fundamentāla pakete zinātniskajai skaitļošanai ar Python. Tas ļauj matemātiski veikt operācijas ar masīviem, matricām, vektoriem un augstas dimensijas tenoriem, it kā tie būtu Python mainīgie.

Tiešsaistes kursi: Numpy Tutorial un Python Numpy Tutorial.

Pandas

Pandas ir atvērtā koda, BSD licencēta bibliotēka, kas nodrošina augstas veiktspējas, ērti lietojamas datu struktūras (piemēram: csv failus) un datu analīzes rīkus Python programmēšanas valodai. Pandas ļoti labi strādā ar NumPy.

  • Curso de introdução a Análise de Dados (em português)
  • Tiešsaistes kursi: apmācību saraksts par pandām.

2) piezīmju grāmatiņa Jupyter

Projekts Jupyter pastāv, lai izstrādātu atvērtā pirmkoda programmatūru, atvērtos standartus un pakalpojumus interaktīvai skaitļošanai desmitiem programmēšanas valodu un jo īpaši Python. Lai ieviestu visus savus ML vai DL algoritmus, jūs izmantosit Jupyter piezīmju grāmatiņu.

Tiešsaistes kursi:

  • 1: 30: 521: Ievads Jupyter piezīmjdatoros
  • Jupyter piezīmjdatoru komandas un saīsnes
    - Jupyter piezīmjdatoru komandas un saīsnes1
    - 28 Jupyter piezīmjdatoru padomi, triki un saīsnes
  • Lietojiet piezīmjdatorus “Saliekamās / paplašināmās jupyter šūnas”
  • Interesantu Jupyter piezīmjdatoru galerija: https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks1

3) GPU

Tiklīdz jūs zināt vismaz Python un zināt, kā lietot Jupyter piezīmjdatoru, Fastai bibliotēka un tās piezīmjdatori jāinstalē serverī ar GPU.

Piezīme: ja jums nav vietējā NVIDIA GPU un ja nevēlaties to izmantot tiešsaistē, varat datorā instalēt Fastai un izmantot tikai CPU, taču pēc tam var paiet kāds laiks, lai iegūtu ML apmācības rezultātu. / DL modelis ...

Kāpēc GPU? Jums tas ir nepieciešams, trenējot ML vai DL algoritmu, lai samazinātu apmācības laiku. Bez GPU jūs nevarēsit “viegli” apmācīt ML vai DL algoritmu ar miljoniem datu.

Neatkarīgi no vietējā procesora instalēšanas jums ir 2 iespējas: vai nu konfigurējiet vietējo GPU, ja datoram ir tāds, piemēram, NVIDIA GPU, vai arī varat iznomāt vienu tiešsaistē, izmantojot Google Cloud, Google Colab, PaperSpace, AWS vai citus.

Tiešsaistes ceļveži: izlasiet “GPU (Graphic Processing Units)” rindkopu rakstā “Deep Learning Brasília - Revisão” vai saites uz maisījumiem.

CPU vietējais

Izlasiet dokumentu README.md, bet rīkojieties šādi:

  1. instalēt Windows operētājsistēmu Anaconda
  2. Atver “Anaconda Prompt” termināli (kuru uzstādīja Anaconda) un šajā terminālā ciparē šādas komandas.
  3. mkdir fastai (lai izveidotu mapi fastai)
  4. cd fastai (lai ievadītu mapi fastai)
  5. git klons https://github.com/fastai/fastai.git (lai lejupielādētu failus Fastai, ieskaitot piezīmjdatorus, un failus, lai instalētu fastai-cpu virtuālo vidi: pytorch, numpy bibliotēkas, pandas, bcolz utt.)
  6. conda env update -f environment-cpu.yml (SVARĪGI: izmantojiet faila environment-cpu.yml failu, jo vēlaties izmantot savu CPU, nevis GPU)
  7. conda aktivizēt fastai-cpu (lai aktivizētu virtuālo vidi fastai-cpu)
  8. CD kursi \ ml1 (ievadiet, piemēram, mapē ml1)
  9. del fastai (izdzēsiet saiti fastai, kas tika izveidota, lai darbotos bash vidē)
  10. mklink / d fastai .. \ .. \ fastai (izveidojiet saiknes logus fastai uz mapi fastai, kurā ir Fastai bibliotēkas faili)
  11. cd .. \ .. (izejiet no mapes ml1, lai atgrieztos mapes saknē, kas izveidota 3. darbībā)
  12. jupyter piezīmju grāmatiņa (palaidiet jupyter piezīmju grāmatiņu, kas tiks atvērta tīmekļa pārlūkā)

“Et voilà”: datorā ar CPU ir instalēta Fastai bibliotēka (un tās piezīmjdatori), un jūs varat palaist visas mapes ml1 piezīmjdatorus.

GPU vietējais

  • Howto: instalēšana operētājsistēmā Windows

GPU tiešsaistē

  • Google Cloud Platform (kredīts 300 USD)
  • Paperspace (kredīts 15 USD)
  • Clouderizer + Google Colab (BEZMAKSAS !!!)
  • Amazon tīmekļa pakalpojumi (AWS)
  • Crestle

Neaizmirstiet izslēgt savu virtuālo mašīnu !!!

4) Mājas darbs

Džeremijs Hovards par katru savas klases video runā par 10 stundām personīgā darba… un viņam ir taisnība!

Patiešām, ja vēlaties uzzināt, kā izdarīt ML un DL, nevis tikai izprast principus, jums ir jāpraktizē.

Iepriekš izklāstītie elementi (kopsavilkums, zinot python valodu un to, kā lietot Jupyter piezīmju grāmatiņu, kā arī Fastai bibliotēkas instalēšanu GPU) ir NEPIECIEŠAMI, bet nepietiekami priekšnoteikumi.

Lai patiešām iemācītos, jums vairākas reizes ir jāskatās videoklipi, jāpalaiž Fastai piezīmju grāmatiņas, jāizpēta kodu līnijas, Fastai forumā jāuzdod jautājumi, kad nesaprotat, jāatbild uz citu uzdotajiem jautājumiem un jāpublicē raksti, lai uzlabotu savu izpratni. Šī ir īsta mācīšanās!

Vēl viens vārds: ENJOY! :-)