EITC/AI/DLPP Deep Learning sa Pythonom i PyTorchom je evropski program za IT certifikaciju na osnovama programiranja dubokog učenja na Pythonu sa PyTorch bibliotekom mašinskog učenja.
Nastavni plan i program dubinskog učenja EITC/AI/DLPP s Pythonom i PyTorchom usredotočen je na praktične vještine dubokog učenja Python programiranja s PyTorch bibliotekom 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 porodice familijarnih metoda mašinskog učenja zasnovanih na umjetnim neuronskim mrežama s reprezentativnim učenjem. 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čunarski vid, mašinski vid, prepoznavanje govora, obradu prirodnog jezika, prepoznavanje zvuka, filtriranje društvenih mreža, mašinsko prevođenje, bioinformatika , dizajn lijekova, analiza medicinske slike, pregled materijala i programi društvenih igara, gdje su rezultirali rezultatima usporedivim 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 svojom zapaženom upotrebom značajnog razmaka. Njegove jezičke konstrukcije i objektno orijentisani pristup imaju za cilj da pomognu programerima da napišu jasan, logičan kod za male i velike projekte. Python se često opisuje kao jezik „sa baterijama“ zbog sveobuhvatne standardne biblioteke. Python se obično koristi u projektima umjetne inteligencije i projektima mašinskog učenja uz pomoć biblioteka poput TensorFlow, Keras, Pytorch i Scikit-learn.
Python je dinamički otkucan (izvršavajući u vrijeme izvođenja mnoga uobičajena programska ponašanja koja statički programski jezici izvode tijekom kompilacije) i sakuplja smeće (s automatskim upravljanjem memorijom). Podržava višestruke programske paradigme, uključujući strukturirano (posebno proceduralno), objektno orijentisano 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 sistema za sakupljanje smeća s brojanjem referenci, a ukinut je s verzijom 2.7 u 2020. Python 3.0, objavljen 2008. godine, bila je glavna revizija jezika koji je nije u potpunosti kompatibilan s unatrag i mnogo Python 2 koda ne radi nepromijenjen na Python 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 programe za instaliranje koji nisu ograničeni na 64-bitni Windows).
Python tumači podržani su za uobičajene operativne sisteme 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 januara 2021. godine, Python zauzima treće mjesto u TIOBE-ovom indeksu najpopularnijih programskih jezika, iza C i Jave, prethodno osvojivši drugo mjesto i svoju nagradu za najveći rast popularnosti za 2020. godinu. Programirani jezik godine izabran je 2007., 2010. godine. , i 2018.
Empirijsko istraživanje pokazalo je da su skriptni jezici, kao što je Python, produktivniji od konvencionalnih jezika, kao što su C i Java, za probleme programiranja koji uključuju manipulaciju nizovima i pretraživanje u rječniku, i utvrdilo je 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.
Pored 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 biblioteka za mašinsko učenje otvorenog koda zasnovana na biblioteci Torch, koja se koristi za aplikacije poput računarskog vida i obrade prirodnog jezika, prvenstveno razvijenu od Facebook-ove AI Research lab (FAIR). Riječ je o besplatnom softveru otvorenog koda objavljenom pod licencom Modified BSD. Iako je Python interfejs uglađeniji i primarni fokus razvoja, PyTorch takođe ima C ++ sučelje. Brojni dijelovi softvera za duboko učenje izgrađeni su na vrhu PyTorcha, uključujući Tesla Autopilot, Uberov Pyro, HuggingFace-ove Transformers, PyTorch Lightning i Catalyst.
- Tensor računarstvo (poput NumPy) sa snažnim ubrzanjem putem grafičkih procesnih jedinica (GPU)
- Duboke neuronske mreže izgrađene na automatskom (računarskom) sistemu diferencijacije zasnovan na traci
Facebook koristi PyTorch i Convolutional Architecture za brzo ugrađivanje karakteristika (Caffe2), ali modeli definirani u dva okvira bili su međusobno nekompatibilni. Projekt Open Neural Network Exchange (ONNX) stvorili su Facebook i Microsoft u septembru 2017. godine za pretvaranje modela između okvira. Caffe2 je pripojen PyTorchu krajem marta 2018.
PyTorch definira klasu koja se naziva Tensor (torch.Tensor) za pohranu i rad na homogenim višedimenzionalnim pravokutnim nizovima brojeva. PyTorch tenzori su slični NumPy nizovima, ali se njima može upravljati i na Nvidia GPU-u koji podržava CUDA. PyTorch podržava razne podtipove tenzora.
Postoji nekoliko važnih modula za Pytorch. Oni uključuju:
- Modul Autograd: PyTorch koristi metodu koja se naziva automatska diferencijacija. Snimač snima koje su operacije izvršene, a zatim ga vraća unatrag za izračunavanje gradijenata. Ova metoda je posebno moćna kada se grade neuronske mreže radi uštede vremena 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, tako da nema potrebe za njihovom izradom od nule.
- nn modul: PyTorch autograd olakšava definiranje računskih grafova i uzimanje gradijenata, ali neobrađeni autograd može biti malo prenizak za definiranje složenih neuronskih mreža. Tu nn modul može pomoći.
Da biste se detaljno upoznali sa nastavnim planom i programom sertifikacije, možete proširiti i analizirati tabelu ispod.
EITC/AI/DLPP Deep Learning with Python i PyTorch certifikacijski kurikulum referencira didaktičke materijale otvorenog pristupa u video formi Harrisona Kinsleya. Proces učenja je podijeljen u strukturu korak po korak (programi -> lekcije -> teme) koja pokriva relevantne dijelove kurikuluma. Takođe su obezbeđene neograničene konsultacije sa stručnjacima iz domena.
Za detalje o proceduri certifikacije provjerite Kako funkcionira.
Preuzmite kompletne pripremne materijale za samoučenje van mreže za EITC/AI/DLPP Deep Learning with Python i PyTorch program u PDF datoteci
EITC/AI/DLPP pripremni materijali – standardna verzija
EITC/AI/DLPP pripremni materijali – proširena verzija sa pitanjima za pregled