EITC/AI/DLPP Deep Learning with Python in PyTorch je evropski program za certificiranje IT na osnovah programiranja poglobljenega učenja v Pythonu s knjižnico strojnega učenja PyTorch.
Učni načrt globokega učenja EITC/AI/DLPP s Pythonom in PyTorchom se osredotoča na praktične spretnosti globokega učenja programiranja Python s knjižnico PyTorch, organizirano v naslednji strukturi, ki obsega obsežne video didaktične vsebine kot referenco za to potrdilo EITC.
Poglobljeno učenje (znano tudi kot globoko strukturirano učenje) je del širše družine metod strojnega učenja, ki temelji na umetnih nevronskih mrežah z reprezentacijskim učenjem. Učenje je lahko nadzorovano, polnadzorovano ali nenadzorovano. Arhitekture globokega učenja, kot so globoke nevronske mreže, mreže globokih prepričanj, ponavljajoče se nevronske mreže in konvolucijske nevronske mreže, so bile uporabljene na področjih, vključno z računalniškim vidom, strojnim vidom, prepoznavanjem govora, obdelavo naravnega jezika, prepoznavanjem zvoka, filtriranjem socialnih omrežij, strojnim prevajanjem, bioinformatiko , oblikovanje zdravil, analiza medicinske podobe, pregled materialov in programi družabnih iger, kjer so dali rezultate, ki so primerljivi in v nekaterih primerih presegajo človekove strokovne dosežke.
Python je interpretiran programski jezik na visoki ravni in za splošno uporabo. Pythonova oblikovalska filozofija poudarja berljivost kode z opazno uporabo pomembnega presledka. Njeni jezikovni konstrukti in objektno usmerjen pristop želijo programerjem pomagati pri pisanju jasne, logične kode za male in velike projekte. Python je zaradi svoje obsežne standardne knjižnice pogosto opisan kot jezik z vključenimi baterijami. Python se pogosto uporablja v projektih umetne inteligence in projektih strojnega učenja s pomočjo knjižnic, kot so TensorFlow, Keras, Pytorch in Scikit-learn.
Python je dinamično natipkan (v času izvajanja izvaja veliko pogostih programskih vedenj, ki jih med prevajanjem izvajajo statični programski jeziki) in zbira smeti (s samodejnim upravljanjem pomnilnika). Podpira več programskih paradigem, vključno s strukturiranim (zlasti procesnim), objektno usmerjenim in funkcionalnim programiranjem. Ustvaril ga je konec osemdesetih let, prvič pa ga je leta 1980 izdal Guido van Rossum kot naslednik programskega jezika ABC. Python 1991, izdan leta 2.0, je predstavil nove funkcije, na primer razumevanje seznamov in sistem za zbiranje smeti s štetjem referenc, leta 2000 pa je bil ukinen z različico 2.7. Python 2020, izdan leta 3.0, je bil pomembna revizija jezika, ki je ni popolnoma združljiva s preteklostjo in veliko kode Python 2008 ne deluje nespremenjeno na Python 2. Z iztekom življenjske dobe Pythona 3 (in pip, ki je opustil podporo leta 2) je podprt samo Python 2021.x in novejši, starejše različice pa še vedno podpira npr. Windows 3.6 (in stare namestitvene programe, ki niso omejeni na 7-bitni Windows).
Tolmači Python so podprti za običajne operacijske sisteme in so na voljo še za nekaj (v preteklosti pa za veliko več). Globalna skupnost programerjev razvija in vzdržuje CPython, brezplačno in odprtokodno referenčno izvedbo. Neprofitna organizacija, Python Software Foundation, upravlja in usmerja vire za razvoj Pythona in CPythona.
Januarja 2021 se Python uvršča na tretje mesto TIOBE-ovega indeksa najbolj priljubljenih programskih jezikov, za C in Javo, saj je pred tem osvojil drugo mesto in nagrado za najboljši prirast priljubljenosti za leto 2020. Izbran je bil za programski jezik leta 2007, 2010 , in 2018.
Empirična študija je pokazala, da so skriptni jeziki, kot je Python, za programiranje težav z manipulacijo nizov in iskanjem v slovarju bolj produktivni od običajnih jezikov, kot sta C in Java, in ugotovila, da je bila poraba pomnilnika pogosto "boljša od Java in ne veliko slabše kot C ali C ++ «. Velike organizacije, ki uporabljajo Python, vključujejo ia Wikipedia, Google, Yahoo !, CERN, NASA, Facebook, Amazon, Instagram.
Poleg aplikacij za umetno inteligenco se Python kot skriptni jezik z modularno arhitekturo, preprosto sintakso in bogatimi orodji za obdelavo besedila pogosto uporablja za obdelavo naravnega jezika.
PyTorch je odprtokodna knjižnica strojnega učenja, ki temelji na knjižnici Torch in se uporablja za aplikacije, kot sta računalniški vid in obdelava naravnega jezika, ki jo je v prvi vrsti razvil Facebookov laboratorij AI Research (FAIR). Je brezplačna in odprtokodna programska oprema, izdana pod licenco Modified BSD. Čeprav je vmesnik Python bolj uglajen in je glavni cilj razvoja, ima PyTorch tudi vmesnik C ++. Na vrhu PyTorcha je zgrajenih več kosov programske opreme za globoko učenje, med drugim Tesla Autopilot, Uberjev Pyro, Transformers HuggingFace, PyTorch Lightning in Catalyst.
- Tensor računalništvo (na primer NumPy) z močnim pospeševanjem prek grafičnih procesorjev (GPU)
- Globoke nevronske mreže, zgrajene na tračnem avtomatskem (računskem) sistemu diferenciacije
Facebook upravlja tako PyTorch kot tudi revolucionarno arhitekturo za hitro vgradnjo funkcij (Caffe2), vendar sta bila modela, opredeljena v obeh okvirih, medsebojno nezdružljiva. Projekt Open Neural Network Exchange (ONNX) sta septembra 2017 ustvarila Facebook in Microsoft za pretvorbo modelov med ogrodji. Caffe2 je bil konec marca 2018 združen v PyTorch.
PyTorch definira razred, imenovan Tensor (torch.Tensor) za shranjevanje in delovanje homogenih večdimenzionalnih pravokotnih nizov števil. Tenzorji PyTorch so podobni matrikam NumPy, vendar jih je mogoče upravljati tudi z grafičnim procesorjem Nvidia, ki podpira CUDA. PyTorch podpira različne podvrste tenzorjev.
Za Pytorch je nekaj pomembnih modulov. Tej vključujejo:
- Modul Autograd: PyTorch uporablja metodo, imenovano samodejno razlikovanje. Snemalnik beleži, katere operacije je opravil, nato pa ga za nazaj izračuna za prelive. Ta metoda je še posebej zmogljiva pri gradnji nevronskih omrežij, da prihrani čas v eni epohi z izračunom diferenciacije parametrov pri prehodu naprej.
- Optim modul: torch.optim je modul, ki izvaja različne optimizacijske algoritme, ki se uporabljajo za gradnjo nevronskih mrež. Večina najpogosteje uporabljenih metod je že podprtih, zato jih ni treba graditi iz nič.
- nn modul: PyTorch autograd omogoča enostavno določanje računskih grafov in zajemanje gradientov, vendar je surovi avtograd lahko nekoliko prenizek za definiranje zapletenih nevronskih mrež. Tu vam lahko pomaga modul nn.
Da bi se podrobneje seznanili s kurikulumom certificiranja, lahko razširite in analizirate spodnjo tabelo.
Učni načrt EITC/AI/DLPP Deep Learning with Python and PyTorch Certification Curriculum se sklicuje na prosto dostopna didaktična gradiva v video obliki Harrisona Kinsleyja. Učni proces je razdeljen na strukturo po korakih (programi -> lekcije -> teme), ki zajema ustrezne dele učnega načrta. Zagotovljeno je tudi neomejeno svetovanje s strokovnjaki za področje.
Za podrobnosti o postopku certificiranja preverite Kako deluje.
Prenesite celotno pripravljalno gradivo za samoučenje brez povezave za poglobljeno učenje EITC/AI/DLPP s programom Python in PyTorch v datoteki PDF
Pripravljalna gradiva EITC/AI/DLPP – standardna različica
Pripravljalna gradiva EITC/AI/DLPP – razširjena različica z vprašanji za pregled