EITC/AI/DLPP Deep Learning with Python and PyTorch on Euroopa IT-sertifitseerimisprogramm PyTorchi masinõppekoguga Pythonis süvaõppe programmeerimise põhialuste kohta.
EITC/AI/DLPP Deep Learning with Python and PyTorch õppekava keskendub järgmise struktuuri raames korraldatud PyTorchi teegiga Pythoni programmeerimise süvendatud õppimise praktilistele oskustele, hõlmates selle EITC sertifikaadi viidetena põhjalikku videodidaktilist sisu.
Sügav õppimine (tuntud ka kui sügav struktureeritud õpe) on osa masinõppe meetodite laiemast perekonnast, mis põhineb kunstlikel närvivõrkudel koos esindusõppega. Õppimine võib olla järelevalve all, pooljuhendatud või järelevalveta. Selliste valdkondade jaoks nagu arvuti nägemine, masinnägemine, kõnetuvastus, loomuliku keele töötlemine, helituvastus, suhtlusvõrgustike filtreerimine, masintõlge, bioinformaatika, on rakendatud selliseid süvaõppe arhitektuure nagu sügavad närvivõrgud, sügavate veendumuste võrgustikud, korduvad närvivõrgud ja konvolutsioonilised närvivõrgud , ravimikujundus, meditsiinilise pildianalüüsi, materjalide ülevaatuse ja lauamängude programmid, kus nende tulemused on võrreldavad ja mõnel juhul ületavad inimeste ekspertide tulemusi.
Python on tõlgendatud, kõrgetasemeline ja üldotstarbeline programmeerimiskeel. Pythoni disainifilosoofia rõhutab koodi loetavust märkimisväärse tühimärgi märkimisväärse kasutamisega. Selle keelekonstruktsioonide ja objektorienteeritud lähenemise eesmärk on aidata programmeerijatel kirjutada selge ja loogiline kood väikestele ja suuremahulistele projektidele. Pythoni kirjeldatakse selle põhjaliku standardraamatukogu tõttu sageli kui „patareidega kaasas“ keelt. Pythoni kasutatakse tavaliselt tehisintellekti projektides ja masinõppeprojektides selliste raamatukogude abil nagu TensorFlow, Keras, Pytorch ja Scikit-learn.
Python on dünaamiliselt sisestatud (käivitades käitamise ajal paljusid levinud programmeerimiskäitumisi, mida staatilised programmeerimiskeeled kompileerimise ajal teostavad) ja prügi kogutud (automaatse mäluhaldusega). See toetab mitut programmeerimisparadigmat, sealhulgas struktureeritud (eriti protseduurilist), objektorienteeritud ja funktsionaalset programmeerimist. Selle lõi 1980ndate lõpus ja esmakordselt 1991. aastal välja Guido van Rossum kui ABC programmeerimiskeele järeltulija. 2.0. aastal välja antud Python 2000 tutvustas uusi funktsioone, näiteks loendite mõistmist, ja prügiveosüsteemi koos viite lugemisega ning katkestati versiooniga 2.7 2020. aastal. 3.0. aastal välja antud Python 2008 oli põhjalik versioon, mis on pole täielikult tahapoole ühilduv ja palju Python 2 koodi ei tööta Python 3-s modifitseerimata. Kui Python 2 eluiga lõpeb (ja pip, mille tugi on 2021. aastal langenud), toetatakse ainult Python 3.6.x-i ja uuemaid versioone, vanemad versioonid on endiselt toetab näiteks Windows 7 (ja vanu installijaid, mis ei piirdu 64-bitise Windowsiga).
Pythoni tõlkeid toetatakse peavoolu operatsioonisüsteemides ja need on saadaval veel mõned (ja varem toetati paljusid teisi). Ülemaailmne programmeerijate kogukond arendab ja haldab tasuta ja avatud lähtekoodiga viite juurutust CPython. Mittetulundusühing Python Software Foundation haldab ja suunab Pythoni ja CPythoni arendamise ressursse.
Alates 2021. aasta jaanuarist on Python TIOBE populaarseimate programmeerimiskeelte indeksis kolmandal kohal, C ja Java taga, olles varem saavutanud teise koha ja auhinna 2020. aasta kõige populaarsema kasvu eest. See valiti 2007. aasta 2010. aasta programmeerimiskeeleks ja 2018.
Empiirilises uuringus leiti, et skriptikeeled, näiteks Python, on tavalistest keeltest, näiteks C ja Java, produktiivsemad probleemide programmeerimiseks, mis hõlmavad stringide manipuleerimist ja sõnastikust otsimist, ning tehti kindlaks, et mälu tarbimine on sageli „parem kui Java ja mitte palju halvem kui C või C ++ ”. Suurte Pythoni kasutavate organisatsioonide hulka kuuluvad muu hulgas Wikipedia, Google, Yahoo !, CERN, NASA, Facebook, Amazon, Instagram.
Lisaks tehisintellekti rakendustele kasutatakse Pythoni kui modulaarse arhitektuuri, lihtsa süntaksi ja rikkaliku tekstitöötlusvahendiga skriptikeelt sageli loomuliku keele töötlemiseks.
PyTorch on Torchi teegil põhinev avatud lähtekoodiga masinõppe raamatukogu, mida kasutatakse selliste rakenduste jaoks nagu arvutinägemine ja loomuliku keele töötlemine ning mille on välja töötanud peamiselt Facebooki AI uurimislabor (FAIR). See on tasuta ja avatud lähtekoodiga tarkvara, mis on välja antud modifitseeritud BSD-litsentsi alusel. Kuigi Pythoni liides on rohkem lihvitud ja arendamise peamine eesmärk, on PyTorchil ka C ++ liides. PyTorchi peale on ehitatud mitu tarkvara Deep Learning, sealhulgas Tesla autopiloot, Uberi Pyro, HuggingFace'i transformerid, PyTorch Lightning ja Catalyst.
- Tensori arvutus (nagu NumPy) tugeva kiirendusega graafikaprotsessorite (GPU) kaudu
- Lindil põhineval automaatsel (arvutuslikul) diferentseerimissüsteemil üles ehitatud sügavad närvivõrgud
Facebook opereerib nii PyTorchi kui ka kiirete funktsioonide manustamise konvolutsiooniarhitektuuri (Caffe2), kuid kahe raamistikuga määratletud mudelid ei olnud omavahel vastuolus. Open Neural Network Exchange (ONNX) projekti lõid Facebook ja Microsoft 2017. aasta septembris mudelite teisendamiseks raamistike vahel. Caffe2 liideti PyTorchiga 2018. aasta märtsi lõpus.
PyTorch määratleb klassi nimega Tensor (taskulamp.Tensor) homogeensete mitmemõõtmeliste ristkülikukujuliste arvumassiivide salvestamiseks ja kasutamiseks. PyTorchi tensorid on sarnased NumPy massiividega, kuid neid saab kasutada ka CUDA-toega Nvidia GPU-l. PyTorch toetab erinevaid tenorite alamtüüpe.
Pytorchi jaoks on vähe olulisi mooduleid. Need sisaldavad:
- Autogradi moodul: PyTorch kasutab meetodit, mida nimetatakse automaatseks eristamiseks. Diktofon salvestab toimingud, mida ta on teinud, ja siis taasesitab seda gradiendide arvutamiseks tagasi. See meetod on eriti võimas närvivõrkude ehitamisel, et säästa aega ühel ajajärgul, arvutades parameetrite diferentseerumise esipassil.
- Optimaalne moodul: torch.optim on moodul, mis rakendab erinevaid närvivõrkude ehitamiseks kasutatavaid optimeerimisalgoritme. Enamik levinumaid meetodeid on juba toetatud, seega pole vaja neid nullist üles ehitada.
- nn moodul: PyTorchi autograd muudab arvutuste graafikute määratlemise ja gradientide võtmise lihtsaks, kuid toores autograd võib keeruliste närvivõrkude määratlemiseks olla natuke liiga madal. Siin saab nn moodul aidata.
Sertifitseerimisõppekavaga põhjalikumalt tutvumiseks saate allolevat tabelit laiendada ja analüüsida.
EITC/AI/DLPP süvaõpe Pythoni ja PyTorchi sertifitseerimise õppekavas viidatakse Harrison Kinsley videovormis avatud juurdepääsuga didaktilistele materjalidele. Õppeprotsess on jagatud samm-sammult struktuuriks (programmid -> tunnid -> teemad), mis hõlmab vastavaid õppekavaosi. Pakutakse ka piiramatut nõustamist domeeniekspertidega.
Sertifitseerimisprotseduuri üksikasjad leiate Mugav tellimus.
Laadige alla täielikud võrguühenduseta iseõppimise ettevalmistavad materjalid EITC/AI/DLPP süvaõppe Pythoniga ja PyTorchiga programmi jaoks PDF-failina
EITC/AI/DLPP ettevalmistusmaterjalid – standardversioon
EITC/AI/DLPP ettevalmistavad materjalid – laiendatud versioon ülevaateküsimustega