EITC/AI/DLPP Deep Learning s Pythonom i PyTorchom je europski program za IT certifikaciju na osnovama programiranja dubokog učenja u Pythonu s knjižnicom strojnog učenja PyTorch.
Nastavni plan i program dubinskog učenja EITC/AI/DLPP s Pythonom i PyTorchom usredotočen je na praktične vještine u dubokom učenju Python programiranja s bibliotekom PyTorch organiziranim u sljedećoj strukturi, obuhvaćajući sveobuhvatan video didaktički sadržaj kao referencu za ovu EITC certifikaciju.
Duboko učenje (poznato i kao duboko strukturirano učenje) dio je šire obitelji familijarnih metoda strojnog učenja temeljenih na umjetnim neuronskim mrežama s prikazom učenja. Učenje može biti nadzirano, polunadgledano ili bez nadzora. Arhitekture dubokog učenja poput dubokih neuronskih mreža, mreža dubokih vjerovanja, ponavljajućih neuronskih mreža i konvolucijskih neuronskih mreža primijenjene su na polja, uključujući računalni vid, strojni vid, prepoznavanje govora, obradu prirodnog jezika, prepoznavanje zvuka, filtriranje društvenih mreža, strojno prevođenje, bioinformatika , dizajn lijekova, analiza medicinske slike, pregled materijala i programi društvenih igara, gdje su rezultirali rezultatima usporedivima i u nekim slučajevima nadmašujući ljudske stručne performanse.
Python je protumačeni programski jezik visoke razine i opće namjene. Pythonova filozofija dizajna naglašava čitljivost koda značajnom uporabom značajnog razmaka. Njegove jezične konstrukcije i objektno orijentirani pristup imaju za cilj pomoći programerima da napišu jasan, logičan kod za male i velike projekte. Python se često opisuje kao jezik s uključenim baterijama zbog sveobuhvatne standardne biblioteke. Python se obično koristi u projektima umjetne inteligencije i projektima strojnog učenja uz pomoć knjižnica poput TensorFlow, Keras, Pytorch i Scikit-learn.
Python je dinamički tipkan (izvršavajući u vrijeme izvođenja mnoga uobičajena programska ponašanja koja statički programski jezici izvode tijekom kompilacije) i prikuplja smeće (s automatskim upravljanjem memorijom). Podržava više paradigmi programiranja, uključujući strukturirano (posebno proceduralno), objektno orijentirano i funkcionalno programiranje. Stvoren je krajem 1980-ih, a prvi ga je objavio 1991. godine, Guido van Rossum kao nasljednik programskog jezika ABC. Python 2.0, objavljen 2000. godine, predstavio je nove značajke, poput razumijevanja popisa i sustava za odvoz smeća s brojanjem referenci, a ukinut je s verzijom 2.7 u 2020. Python 3.0, objavljen 2008. godine, bila je velika revizija jezika koji je nije u potpunosti kompatibilan s unatrag i puno Python 2 koda ne radi neizmijenjeno na Pythonu 3. S krajem života Pythona 2 (i pipom koji je pao u podršci 2021. godine), podržani su samo Python 3.6.x i novije verzije, sa starijim verzijama podržava npr. Windows 7 (i stare instalacijske programe koji nisu ograničeni na 64-bitni Windows).
Python tumači podržani su za uobičajene operativne sustave i dostupni su za još nekoliko (a u prošlosti i za mnoge druge). Globalna zajednica programera razvija i održava CPython, besplatnu implementaciju referenci otvorenog koda. Neprofitna organizacija, Python Software Foundation, upravlja i usmjerava resurse za razvoj Pythona i CPythona.
Od siječnja 2021. Python zauzima treće mjesto u TIOBE-ovom indeksu najpopularnijih programskih jezika, iza C-a i Jave, a prethodno je osvojio drugo mjesto i nagradu za najpopularnije povećanje za 2020. Odabran je za programski jezik godine 2007., 2010. godine. , i 2018.
Empirijsko istraživanje pokazalo je da su skriptni jezici, poput Pythona, produktivniji od konvencionalnih jezika, kao što su C i Java, za probleme programiranja koji uključuju manipulaciju nizovima i pretraživanje u rječniku, te je utvrdilo da je potrošnja memorije često „bolja od Jave, a ne mnogo gore od C ili C ++ ”. Velike organizacije koje koriste Python uključuju ia Wikipedia, Google, Yahoo !, CERN, NASA, Facebook, Amazon, Instagram.
Osim aplikacija za umjetnu inteligenciju, Python se kao skriptni jezik s modularnom arhitekturom, jednostavnom sintaksom i bogatim alatima za obradu teksta često koristi za obradu prirodnog jezika.
PyTorch je knjižnica strojnog učenja s otvorenim kodom koja se temelji na biblioteci Torch, a koristi se za programe poput računalnog vida i obrade prirodnog jezika, prvenstveno razvijena od strane Facebook-ovog laboratorija za istraživanje inteligencije (FAIR). Riječ je o besplatnom softveru s otvorenim kodom objavljenom pod Modificiranom BSD licencom. Iako je Python sučelje uglađenije i primarni je fokus razvoja, PyTorch također ima C ++ sučelje. Brojni dijelovi softvera za duboko učenje izgrađeni su na vrhu PyTorcha, uključujući Tesla Autopilot, Uberov Pyro, HuggingFaceovi transformatori, PyTorch Lightning i Catalyst.
- Tenzorsko računanje (poput NumPy) s velikim ubrzanjem putem grafičkih procesnih jedinica (GPU)
- Duboke neuronske mreže izgrađene na sustavu automatske (računske) diferencijacije na traci
Facebook koristi PyTorch i Convolutional Architecture za brzo ugrađivanje značajki (Caffe2), ali modeli definirani u dva okvira bili su međusobno nekompatibilni. Projekt Open Neural Network Exchange (ONNX) stvorili su Facebook i Microsoft u rujnu 2017. za pretvaranje modela između okvira. Caffe2 spojen je s PyTorch krajem ožujka 2018.
PyTorch definira klasu koja se naziva Tensor (baklja.Tensor) za pohranu i rad na homogenim višedimenzionalnim pravokutnim nizovima brojeva. PyTorch tenzori slični su NumPy nizovima, ali se njima može upravljati i na Nvidia GPU-u koji podržava CUDA. PyTorch podržava razne podvrste tenzora.
Postoji nekoliko važnih modula za Pytorch. To uključuje:
- Modul Autograd: PyTorch koristi metodu koja se naziva automatska diferencijacija. Snimač bilježi izvršene operacije, a zatim ga vraća unatrag za izračunavanje gradijenata. Ova je metoda posebno moćna kada se grade neuronske mreže kako bi se uštedjelo vrijeme u jednoj epohi računanjem diferencijacije parametara na prosljeđivanju.
- Optim modul: torch.optim je modul koji implementira različite algoritme za optimizaciju koji se koriste za izgradnju neuronskih mreža. Većina najčešće korištenih metoda već je podržana, pa ih nema potrebe graditi od nule.
- nn modul: PyTorch autograd olakšava definiranje računalnih grafova i uzimanje gradijenata, ali neobrađeni autograd može biti preniska razina za definiranje složenih neuronskih mreža. Tu nn modul može pomoći.
Da biste se detaljno upoznali s nastavnim planom i programom certificiranja, možete proširiti i analizirati donju tablicu.
EITC/AI/DLPP Deep Learning with Python and PyTorch Certification Curriculum navodi didaktičke materijale otvorenog pristupa u video obliku Harrisona Kinsleya. Proces učenja podijeljen je u strukturu korak po korak (programi -> lekcije -> teme) koja pokriva relevantne dijelove kurikuluma. Također je osigurano neograničeno savjetovanje sa stručnjacima za domenu.
Za detalje o postupku certificiranja provjerite Kako radi.
Preuzmite kompletne izvanmrežne pripremne materijale za samoučenje za EITC/AI/DLPP Duboko učenje s programom Python i PyTorch u PDF datoteci
EITC/AI/DLPP pripremni materijali – standardna verzija
EITC/AI/DLPP pripremni materijali – proširena verzija s pitanjima za ponavljanje