
EITC/AI/DLPP Deep Learning mit Python und PyTorch ist das europäische IT-Zertifizierungsprogramm zu den Grundlagen der Programmierung von Deep Learning in Python mit der PyTorch-Bibliothek für maschinelles Lernen.
Der Lehrplan des EITC/AI/DLPP-Deep-Learning mit Python und PyTorch konzentriert sich auf praktische Fertigkeiten im Deep-Learning-Python-Programmieren mit der PyTorch-Bibliothek, die in der folgenden Struktur organisiert sind und umfassende didaktische Videoinhalte als Referenz für diese EITC-Zertifizierung umfassen.
Deep Learning (auch als Deep Structured Learning bezeichnet) gehört zu einer breiteren Familie von Methoden des maschinellen Lernens, die auf künstlichen neuronalen Netzen mit Repräsentationslernen basieren. Das Lernen kann überwacht, halbüberwacht oder unbeaufsichtigt sein. Deep-Learning-Architekturen wie tiefe neuronale Netze, tiefe Glaubensnetzwerke, wiederkehrende neuronale Netze und Faltungs-neuronale Netze wurden auf Bereiche wie Computer Vision, Machine Vision, Spracherkennung, Verarbeitung natürlicher Sprache, Audioerkennung, Filterung sozialer Netzwerke, maschinelle Übersetzung und Bioinformatik angewendet , Medikamentendesign, medizinische Bildanalyse, Materialinspektion und Brettspielprogramme, bei denen Ergebnisse erzielt wurden, die mit der Leistung von Experten vergleichbar sind und diese in einigen Fällen sogar übertreffen.
Python ist eine interpretierte Programmiersprache auf hoher Ebene und für allgemeine Zwecke. Die Designphilosophie von Python betont die Lesbarkeit von Code durch die bemerkenswerte Verwendung von signifikanten Leerzeichen. Seine Sprachkonstrukte und sein objektorientierter Ansatz sollen Programmierern helfen, klaren, logischen Code für kleine und große Projekte zu schreiben. Python wird aufgrund seiner umfassenden Standardbibliothek häufig als "Batterie enthalten" -Sprache bezeichnet. Python wird häufig in Projekten mit künstlicher Intelligenz und Projekten für maschinelles Lernen mit Hilfe von Bibliotheken wie TensorFlow, Keras, Pytorch und Scikit-learn verwendet.
Python ist dynamisch typisiert (zur Laufzeit werden viele gängige Programmierverhaltensweisen ausgeführt, die statische Programmiersprachen während der Kompilierung ausführen) und müllsammelt (mit automatischer Speicherverwaltung). Es unterstützt mehrere Programmierparadigmen, einschließlich strukturierter (insbesondere prozeduraler), objektorientierter und funktionaler Programmierung. Es wurde Ende der 1980er Jahre erstellt und 1991 von Guido van Rossum als Nachfolger der Programmiersprache ABC erstmals veröffentlicht. Python 2.0, das im Jahr 2000 veröffentlicht wurde, führte neue Funktionen wie Listenverständnis und ein Garbage Collection-System mit Referenzzählung ein und wurde mit Version 2.7 im Jahr 2020 eingestellt. Python 3.0, das im Jahr 2008 veröffentlicht wurde, war eine wichtige Überarbeitung der jeweiligen Sprache Nicht vollständig abwärtskompatibel und viel Python 2-Code wird unter Python 3 nicht unverändert ausgeführt. Mit dem Ende der Lebensdauer von Python 2 (und Pip, das die Unterstützung im Jahr 2021 eingestellt hat) wird nur Python 3.6.x und höher unterstützt, wobei ältere Versionen noch vorhanden sind Unterstützung zB Windows 7 (und alte Installationsprogramme, die nicht auf 64-Bit-Windows beschränkt sind).
Python-Interpreter werden für Mainstream-Betriebssysteme unterstützt und sind für einige weitere verfügbar (und haben in der Vergangenheit viele weitere unterstützt). Eine globale Community von Programmierern entwickelt und pflegt CPython, eine kostenlose Open-Source-Referenzimplementierung. Die Python Software Foundation, eine gemeinnützige Organisation, verwaltet und leitet Ressourcen für die Python- und CPython-Entwicklung.
Ab Januar 2021 belegt Python nach T und BE den dritten Platz im TIOBE-Index der beliebtesten Programmiersprachen, nachdem es zuvor den zweiten Platz und die Auszeichnung für den beliebtesten Gewinn für 2020 erhalten hatte. 2007 und 2010 wurde es zur Programmiersprache des Jahres gewählt und 2018.
Eine empirische Studie ergab, dass Skriptsprachen wie Python für Programmierprobleme bei der Manipulation von Zeichenfolgen und der Suche in einem Wörterbuch produktiver sind als herkömmliche Sprachen wie C und Java, und stellte fest, dass der Speicherverbrauch häufig „besser als Java und nicht“ ist viel schlimmer als C oder C ++ ”. Zu den großen Organisationen, die Python verwenden, gehören ua Wikipedia, Google, Yahoo! CERN, NASA, Facebook, Amazon, Instagram.
Neben seinen Anwendungen für künstliche Intelligenz wird Python als Skriptsprache mit modularer Architektur, einfacher Syntax und Rich-Text-Verarbeitungswerkzeugen häufig für die Verarbeitung natürlicher Sprache verwendet.
PyTorch ist eine Open-Source-Bibliothek für maschinelles Lernen, die auf der Torch-Bibliothek basiert und für Anwendungen wie Computer Vision und Verarbeitung natürlicher Sprache verwendet wird. Sie wurde hauptsächlich vom AI Research Lab (FAIR) von Facebook entwickelt. Es handelt sich um kostenlose Open-Source-Software, die unter der Modified BSD-Lizenz veröffentlicht wird. Obwohl die Python-Oberfläche ausgefeilter ist und im Mittelpunkt der Entwicklung steht, verfügt PyTorch auch über eine C ++ - Oberfläche. Auf PyTorch basieren eine Reihe von Deep Learning-Programmen, darunter Tesla Autopilot, Ubers Pyro, HuggingFace-Transformatoren, PyTorch Lightning und Catalyst.
- Tensor Computing (wie NumPy) mit starker Beschleunigung über Grafikprozessoren (GPU)
- Tiefe neuronale Netze, die auf einem bandbasierten automatischen (rechnerischen) Differenzierungssystem basieren
Facebook betreibt sowohl PyTorch als auch Convolutional Architecture für Fast Feature Embedding (Caffe2), aber die von den beiden Frameworks definierten Modelle waren nicht miteinander kompatibel. Das Open Neural Network Exchange (ONNX) -Projekt wurde im September 2017 von Facebook und Microsoft erstellt, um Modelle zwischen Frameworks zu konvertieren. Caffe2 wurde Ende März 2018 in PyTorch fusioniert.
PyTorch definiert eine Klasse namens Tensor (torch.Tensor) zum Speichern und Bearbeiten homogener mehrdimensionaler rechteckiger Zahlenfelder. PyTorch-Tensoren ähneln NumPy-Arrays, können jedoch auch auf einer CUDA-fähigen Nvidia-GPU betrieben werden. PyTorch unterstützt verschiedene Untertypen von Tensoren.
Es gibt nur wenige wichtige Module für Pytorch. Diese schließen ein:
- Autograd-Modul: PyTorch verwendet eine Methode namens automatische Differenzierung. Ein Rekorder zeichnet auf, welche Operationen ausgeführt wurden, und spielt sie dann rückwärts ab, um die Verläufe zu berechnen. Diese Methode ist besonders leistungsfähig, wenn neuronale Netze aufgebaut werden, um Zeit in einer Epoche zu sparen, indem die Differenzierung der Parameter beim Vorwärtsdurchlauf berechnet wird.
- Optimierungsmodul: torch.optim ist ein Modul, das verschiedene Optimierungsalgorithmen implementiert, die zum Aufbau neuronaler Netze verwendet werden. Die meisten häufig verwendeten Methoden werden bereits unterstützt, sodass sie nicht von Grund auf neu erstellt werden müssen.
- nn-Modul: PyTorch Autograd erleichtert das Definieren von Berechnungsgraphen und das Aufnehmen von Gradienten, aber das rohe Autograd kann für die Definition komplexer neuronaler Netze etwas zu niedrig sein. Hier kann das nn-Modul helfen.
Um sich im Detail mit dem Zertifizierungscurriculum vertraut zu machen, können Sie die folgende Tabelle erweitern und analysieren.
Das EITC/AI/DLPP Deep Learning with Python and PyTorch Certification Curriculum verweist auf frei zugängliche didaktische Materialien in Videoform von Harrison Kinsley. Der Lernprozess ist in eine schrittweise Struktur (Programme -> Lektionen -> Themen) unterteilt, die relevante Lehrplanteile abdeckt. Unbegrenzte Beratung durch Domänenexperten wird ebenfalls angeboten.
Einzelheiten zum Zertifizierungsverfahren finden Sie unter So funktioniert es.