EITC/AI/DLPP Deep Learning met Python en PyTorch is het Europese IT-certificeringsprogramma over de basisprincipes van het programmeren van deep learning in Python met PyTorch machine learning-bibliotheek.
Het curriculum van de EITC/AI/DLPP Deep Learning met Python en PyTorch richt zich op praktische vaardigheden in deep learning Python-programmering met PyTorch-bibliotheek, georganiseerd binnen de volgende structuur, en omvat uitgebreide videodidactische inhoud als referentie voor deze EITC-certificering.
Diep leren (ook bekend als diep gestructureerd leren) maakt deel uit van een bredere familie van machine-leermethoden op basis van kunstmatige neurale netwerken met representatieleren. Het leren kan onder toezicht, semi-begeleid of onbewaakt zijn. Diepe leerarchitecturen zoals diepe neurale netwerken, diepe geloofsnetwerken, terugkerende neurale netwerken en convolutionele neurale netwerken zijn toegepast op gebieden zoals computervisie, machine vision, spraakherkenning, natuurlijke taalverwerking, audioherkenning, filtering van sociale netwerken, automatische vertaling, bio-informatica , medicijnontwerp, medische beeldanalyse, materiaalinspectie en bordspelprogramma's, waarbij ze resultaten hebben opgeleverd die vergelijkbaar zijn met en in sommige gevallen de prestaties van menselijke experts overtreffen.
Python is een geïnterpreteerde, algemene programmeertaal op hoog niveau. De ontwerpfilosofie van Python benadrukt de leesbaarheid van code door het opmerkelijke gebruik van aanzienlijke witruimte. De taalconstructies en objectgeoriënteerde benadering zijn bedoeld om programmeurs te helpen duidelijke, logische code te schrijven voor kleine en grootschalige projecten. Python wordt vaak omschreven als een taal met 'batterijen inbegrepen' vanwege de uitgebreide standaardbibliotheek. Python wordt veel gebruikt in kunstmatige intelligentieprojecten en machine learning-projecten met behulp van bibliotheken zoals TensorFlow, Keras, Pytorch en Scikit-learn.
Python wordt dynamisch getypeerd (voert tijdens runtime veel algemeen programmeergedrag uit dat statische programmeertalen uitvoeren tijdens het compileren) en wordt als afval verzameld (met automatisch geheugenbeheer). Het ondersteunt meerdere programmeerparadigma's, waaronder gestructureerd (in het bijzonder procedureel), objectgeoriënteerd en functioneel programmeren. Het werd eind jaren tachtig gemaakt en voor het eerst uitgebracht in 1980 door Guido van Rossum als opvolger van de programmeertaal ABC. Python 1991, uitgebracht in 2.0, introduceerde nieuwe functies, zoals lijstbegrip en een garbagecollection-systeem met referentietelling, en werd stopgezet met versie 2000 in 2.7. Python 2020, uitgebracht in 3.0, was een grote herziening van de taal die is niet volledig achterwaarts compatibel en veel Python 2008-code draait niet ongewijzigd op Python 2. Met het einde van de levensduur van Python 3 (en pip heeft de ondersteuning in 2 laten vallen), worden alleen Python 2021.x en later ondersteund, met oudere versies nog steeds ondersteuning van bijvoorbeeld Windows 3.6 (en oude installatieprogramma's niet beperkt tot 7-bit Windows).
Python-interpreters worden ondersteund voor reguliere besturingssystemen en zijn beschikbaar voor een paar meer (en in het verleden ondersteund voor veel meer). Een wereldwijde gemeenschap van programmeurs ontwikkelt en onderhoudt CPython, een gratis en open-source referentie-implementatie. Een non-profitorganisatie, de Python Software Foundation, beheert en stuurt bronnen voor Python- en CPython-ontwikkeling.
Vanaf januari 2021 staat Python op de derde plaats in de TIOBE-index van meest populaire programmeertalen, achter C en Java, nadat ze eerder de tweede plaats behaalden en hun prijs voor de meeste populariteitstoename voor 2020. Het werd in 2007, 2010 gekozen tot Programmeertaal van het Jaar , en 2018.
Een empirische studie wees uit dat scripttalen, zoals Python, productiever zijn dan conventionele talen, zoals C en Java, voor programmeerproblemen met stringmanipulatie en zoeken in een woordenboek, en stelde vast dat het geheugengebruik vaak 'beter was dan Java en niet veel erger dan C of C ++ ”. Grote organisaties die Python gebruiken, zijn oa Wikipedia, Google, Yahoo !, CERN, NASA, Facebook, Amazon, Instagram.
Naast de kunstmatige-intelligentietoepassingen wordt Python, als scripttaal met modulaire architectuur, eenvoudige syntaxis en rich text-verwerkingstools, vaak gebruikt voor de verwerking van natuurlijke taal.
PyTorch is een open source machine learning-bibliotheek gebaseerd op de Torch-bibliotheek, die wordt gebruikt voor toepassingen zoals computervisie en natuurlijke taalverwerking, voornamelijk ontwikkeld door Facebook's AI Research Lab (FAIR). Het is gratis en open-source software vrijgegeven onder de Modified BSD-licentie. Hoewel de Python-interface meer gepolijst is en de primaire focus van ontwikkeling is, heeft PyTorch ook een C ++ -interface. Een aantal stukken Deep Learning-software wordt bovenop PyTorch gebouwd, waaronder Tesla Autopilot, Uber's Pyro, HuggingFace's Transformers, PyTorch Lightning en Catalyst.
- Tensorcomputing (zoals NumPy) met sterke versnelling via grafische verwerkingseenheden (GPU)
- Diepe neurale netwerken gebouwd op een automatisch (computationeel) differentiatiesysteem op tape
Facebook exploiteert zowel PyTorch als Convolutional Architecture for Fast Feature Embedding (Caffe2), maar modellen die door de twee frameworks waren gedefinieerd, waren onderling incompatibel. Het Open Neural Network Exchange (ONNX) -project is in september 2017 door Facebook en Microsoft gemaakt voor het converteren van modellen tussen frameworks. Caffe2 is eind maart 2018 samengevoegd met PyTorch.
PyTorch definieert een klasse genaamd Tensor (torch.Tensor) om homogene, multidimensionale rechthoekige reeksen getallen op te slaan en te bewerken. PyTorch Tensors zijn vergelijkbaar met NumPy Arrays, maar kunnen ook worden gebruikt op een CUDA-compatibele Nvidia GPU. PyTorch ondersteunt verschillende subtypes van Tensoren.
Er zijn enkele belangrijke modules voor Pytorch. Waaronder:
- Autograd-module: PyTorch gebruikt een methode die automatische differentiatie wordt genoemd. Een recorder neemt op welke bewerkingen hebben plaatsgevonden en speelt deze vervolgens achterwaarts af om de verlopen te berekenen. Deze methode is vooral krachtig bij het bouwen van neurale netwerken om tijd te besparen op één tijdperk door differentiatie van de parameters bij de voorwaartse doorgang te berekenen.
- Optim-module: torch.optim is een module die verschillende optimalisatie-algoritmen implementeert die worden gebruikt voor het bouwen van neurale netwerken. De meeste veelgebruikte methoden worden al ondersteund, dus u hoeft ze niet helemaal opnieuw te bouwen.
- nn-module: PyTorch autograd maakt het gemakkelijk om rekengrafieken te definiëren en gradiënten te nemen, maar onbewerkte autograd kan een beetje te laag niveau zijn voor het definiëren van complexe neurale netwerken. Dit is waar de nn-module kan helpen.
Om u in detail vertrouwd te maken met het certificeringscurriculum kunt u onderstaande tabel uitvouwen en analyseren.
Het EITC/AI/DLPP Deep Learning met Python en PyTorch Certification Curriculum verwijst naar open-access didactisch materiaal in videovorm door Harrison Kinsley. Het leerproces is opgedeeld in een stapsgewijze structuur (programma's -> lessen -> onderwerpen) die relevante curriculumonderdelen omvat. Onbeperkt advies met domeinexperts wordt ook geboden.
Voor meer informatie over de certificeringsprocedure, zie Hoe het werkt.
Download het volledige offline zelflerende voorbereidingsmateriaal voor het EITC/AI/DLPP Deep Learning met Python- en PyTorch-programma in een PDF-bestand
EITC/AI/DLPP voorbereidingsmaterialen – standaardversie
EITC/AI/DLPP voorbereidend materiaal – uitgebreide versie met evaluatievragen