Apache MXNet - Toolkits und Ökosystem
Um die Forschung und Entwicklung von Deep Learning-Anwendungen in vielen Bereichen zu unterstützen, bietet Apache MXNet ein reichhaltiges Ökosystem an Toolkits, Bibliotheken und vielem mehr. Lassen Sie uns sie erkunden -
ToolKits
Im Folgenden finden Sie einige der am häufigsten verwendeten und wichtigsten Toolkits von MXNet:
GluonCV
Wie der Name schon sagt, ist GluonCV ein Gluon-Toolkit für Computer Vision, das von MXNet unterstützt wird. Es bietet die Implementierung modernster DL-Algorithmen (Deep Learning) in Computer Vision (CV). Mit Hilfe des GluonCV-Toolkits können Ingenieure, Forscher und Studenten neue Ideen validieren und den Lebenslauf einfach lernen.
Im Folgenden sind einige der features of GluonCV - -
Es trainiert Skripte für die Reproduktion von Ergebnissen auf dem neuesten Stand der Technik, die in neuesten Forschungsergebnissen veröffentlicht wurden.
Mehr als 170 hochwertige, vorgefertigte Modelle.
Umfassen Sie flexibles Entwicklungsmuster.
GluonCV ist einfach zu optimieren. Wir können es bereitstellen, ohne das schwere DL-Framework beizubehalten.
Es bietet sorgfältig gestaltete APIs, die die Komplexität der Implementierung erheblich verringern.
Gemeinschaftliche Unterstützung.
Einfach zu verstehende Implementierungen.
Es folgen die supported applications von GluonCV Toolkit:
Bildklassifizierung
Objekterkennung
Semantische Segmentierung
Instanzsegmentierung
Posenschätzung
Video-Aktionserkennung
Wir können GluonCV mithilfe von pip wie folgt installieren:
pip install --upgrade mxnet gluoncv
GluonNLP
Wie der Name schon sagt, ist GluonNLP ein Gluon-Toolkit für die Verarbeitung natürlicher Sprache (NLP), das von MXNet unterstützt wird. Es bietet die Implementierung modernster DL-Modelle (Deep Learning) in NLP.
Mithilfe des GluonNLP-Toolkits können Ingenieure, Forscher und Studenten Blöcke für Textdaten-Pipelines und -Modelle erstellen. Basierend auf diesen Modellen können sie schnell Prototypen der Forschungsideen und des Produkts erstellen.
Im Folgenden sind einige der Funktionen von GluonNLP aufgeführt:
Es trainiert Skripte für die Reproduktion von Ergebnissen auf dem neuesten Stand der Technik, die in neuesten Forschungsergebnissen veröffentlicht wurden.
Satz vorab trainierter Modelle für allgemeine NLP-Aufgaben.
Es bietet sorgfältig gestaltete APIs, die die Komplexität der Implementierung erheblich verringern.
Gemeinschaftliche Unterstützung.
Es enthält auch Tutorials, die Ihnen den Einstieg in neue NLP-Aufgaben erleichtern.
Im Folgenden sind die NLP-Aufgaben aufgeführt, die wir mit dem GluonNLP-Toolkit implementieren können:
Worteinbettung
Sprachmodell
Maschinenübersetzung
Textklassifizierung
Stimmungsanalyse
Inferenz natürlicher Sprache
Texterzeugung
Abhängigkeitsanalyse
Named Entity Recognition
Absichtsklassifizierung und Slot-Kennzeichnung
Wir können GluonNLP mithilfe von pip wie folgt installieren:
pip install --upgrade mxnet gluonnlp
Gluonen
Wie der Name schon sagt, ist GluonTS ein Gluon-Toolkit für die probabilistische Zeitreihenmodellierung, das von MXNet unterstützt wird.
Es bietet die folgenden Funktionen -
Deep-Learning-Modelle nach dem neuesten Stand der Technik (SOTA), die für das Training bereit sind.
Die Dienstprogramme zum Laden und Durchlaufen von Zeitreihendatensätzen.
Bausteine zur Definition Ihres eigenen Modells.
Mithilfe des GluonTS-Toolkits können Ingenieure, Forscher und Studenten jedes der integrierten Modelle anhand ihrer eigenen Daten trainieren und bewerten, schnell mit verschiedenen Lösungen experimentieren und eine Lösung für ihre Zeitreihenaufgaben finden.
Sie können die bereitgestellten Abstraktionen und Bausteine auch verwenden, um benutzerdefinierte Zeitreihenmodelle zu erstellen und diese schnell mit Basisalgorithmen zu vergleichen.
Wir können GluonTS mithilfe von pip wie folgt installieren:
pip install gluonts
GluonFR
Wie der Name schon sagt, handelt es sich um ein Apache MXNet Gluon-Toolkit für FR (Gesichtserkennung). Es bietet die folgenden Funktionen -
Deep-Learning-Modelle nach dem neuesten Stand der Technik (SOTA) zur Gesichtserkennung.
Die Implementierung von SoftmaxCrossEntropyLoss, ArcLoss, TripletLoss, RingLoss, CosLoss / AMsoftmax, L2-Softmax, A-Softmax, CenterLoss, ContrastiveLoss und LGM Loss usw.
Um Gluon Face zu installieren, benötigen wir Python 3.5 oder höher. Wir müssen auch zuerst GluonCV und MXNet wie folgt installieren:
pip install gluoncv --pre
pip install mxnet-mkl --pre --upgrade
pip install mxnet-cuXXmkl --pre –upgrade # if cuda XX is installed
Nachdem Sie die Abhängigkeiten installiert haben, können Sie GluonFR mit dem folgenden Befehl installieren:
From Source
pip install git+https://github.com/THUFutureLab/gluon-face.git@master
Pip
pip install gluonfr
Ökosystem
Lassen Sie uns nun die umfangreichen Bibliotheken, Pakete und Frameworks von MXNet erkunden.
Trainer RL
Coach, ein RL-Framework (Python Reinforcement Learning), das vom Intel AI Lab erstellt wurde. Es ermöglicht ein einfaches Experimentieren mit modernsten RL-Algorithmen. Coach RL unterstützt Apache MXNet als Backend und ermöglicht die einfache Integration neuer Umgebungen.
Um vorhandene Komponenten problemlos zu erweitern und wiederzuverwenden, hat Coach RL die grundlegenden Komponenten des Verstärkungslernens wie Algorithmen, Umgebungen, NN-Architekturen und Explorationsrichtlinien sehr gut entkoppelt.
Im Folgenden sind die Agenten und unterstützten Algorithmen für das Coach RL-Framework aufgeführt:
Value Optimization Agents
Deep Q Network (DQN)
Double Deep Q Network (DDQN)
Duell Q Network
Gemischtes Monte Carlo (MMC)
Persistent Advantage Learning (PAL)
Kategoriales Deep Q-Netzwerk (C51)
Quantiles Regressions-Deep-Q-Netzwerk (QR-DQN)
N-Schritt Q Lernen
Neuronale episodische Kontrolle (NEC)
Normalisierte Vorteilsfunktionen (NAF)
Rainbow
Agenten zur Richtlinienoptimierung
Policy Gradients (PG)
Asynchronous Advantage Actor-Critic (A3C)
Deep Deterministic Policy Gradients (DDPG)
Proximale Richtlinienoptimierung (PPO)
Clipped Proximal Policy Optimization (CPPO)
Generalized Advantage Estimation (GAE)
Beispiel für einen effizienten Schauspieler-Kritiker mit Erfahrungswiederholung (ACER)
Soft Actor-Critic (SAC)
Twin Delayed Deep Deterministic Policy Gradient (TD3)
Generalvertreter
Direkte Zukunftsprognose (DFP)
Imitation Learning Agents
Behavioral Cloning (BC)
Bedingtes Nachahmungslernen
Hierarchical Reinforcement Learning Agents
Hierarchical Actor Critic (HAC)
Deep Graph Library
Die Deep Graph Library (DGL), die von den NYU- und AWS-Teams in Shanghai entwickelt wurde, ist ein Python-Paket, das eine einfache Implementierung von Graph Neural Networks (GNNs) über MXNet bietet. Es bietet auch eine einfache Implementierung von GNNs zusätzlich zu anderen vorhandenen großen Deep-Learning-Bibliotheken wie PyTorch, Gluon usw.
Deep Graph Library ist eine kostenlose Software. Es ist auf allen Linux-Distributionen später als Ubuntu 16.04, macOS X und Windows 7 oder höher verfügbar. Es erfordert auch die Python 3.5-Version oder höher.
Im Folgenden sind die Funktionen von DGL aufgeführt:
No Migration cost - Für die Verwendung von DGL fallen keine Migrationskosten an, da es auf den gängigen DL-Frameworks basiert.
Message Passing- DGL bietet die Weitergabe von Nachrichten und hat eine vielseitige Kontrolle darüber. Die Nachrichtenübermittlung reicht von Operationen auf niedriger Ebene wie dem Senden entlang ausgewählter Kanten bis hin zur Steuerung auf hoher Ebene wie grafikweiten Funktionsaktualisierungen.
Smooth Learning Curve - Es ist recht einfach, DGL zu erlernen und zu verwenden, da die leistungsstarken benutzerdefinierten Funktionen sowohl flexibel als auch benutzerfreundlich sind.
Transparent Speed Optimization - DGL bietet eine transparente Geschwindigkeitsoptimierung durch automatische Stapelverarbeitung und Multiplikation mit geringer Matrix.
High performance - Um maximale Effizienz zu erzielen, stapelt DGL das DNN-Training (Deep Neural Networks) automatisch in einem oder mehreren Diagrammen.
Easy & friendly interface - DGL bietet uns einfache und benutzerfreundliche Schnittstellen für den Zugriff auf Kantenfunktionen sowie für die Manipulation der Diagrammstruktur.
InsightFace
InsightFace, ein Deep Learning Toolkit für die Gesichtsanalyse, das die Implementierung des SOTA-Gesichtsanalysealgorithmus (Stand der Technik) in Computer Vision mit MXNet ermöglicht. Es bietet -
Hochwertiger großer Satz vorgefertigter Modelle.
Schulungsskripte nach dem neuesten Stand der Technik (SOTA).
InsightFace ist einfach zu optimieren. Wir können es bereitstellen, ohne das schwere DL-Framework beizubehalten.
Es bietet sorgfältig gestaltete APIs, die die Komplexität der Implementierung erheblich verringern.
Bausteine zur Definition Ihres eigenen Modells.
Wir können InsightFace mithilfe von pip wie folgt installieren:
pip install --upgrade insightface
Bitte beachten Sie, dass Sie vor der Installation von InsightFace das richtige MXNet-Paket entsprechend Ihrer Systemkonfiguration installieren müssen.
Keras-MXNet
Da wir wissen, dass Keras eine in Python geschriebene NN-API (High-Level Neural Network) ist, bietet Keras-MXNet eine Backend-Unterstützung für Keras. Es kann auf einem leistungsstarken und skalierbaren Apache MXNet DL-Framework ausgeführt werden.
Die Funktionen von Keras-MXNet werden unten aufgeführt -
Ermöglicht Benutzern ein einfaches, reibungsloses und schnelles Prototyping. Dies alles geschieht durch Benutzerfreundlichkeit, Modularität und Erweiterbarkeit.
Unterstützt sowohl CNN (Convolutional Neural Networks) als auch RNN (Recurrent Neural Networks) sowie die Kombination von beiden.
Läuft einwandfrei auf der Central Processing Unit (CPU) und der Graphical Processing Unit (GPU).
Kann auf einer oder mehreren GPUs ausgeführt werden.
Um mit diesem Backend arbeiten zu können, müssen Sie zuerst keras-mxnet wie folgt installieren:
pip install keras-mxnet
Wenn Sie jetzt GPUs verwenden, installieren Sie MXNet mit CUDA 9-Unterstützung wie folgt:
pip install mxnet-cu90
Wenn Sie jedoch nur die CPU verwenden, installieren Sie das grundlegende MXNet wie folgt:
pip install mxnet
MXBoard
MXBoard ist ein in Python geschriebenes Protokollierungswerkzeug, mit dem MXNet-Datenrahmen aufgezeichnet und in TensorBoard angezeigt werden. Mit anderen Worten, das MXBoard soll der Tensorboard-Pytorch-API folgen. Es unterstützt die meisten Datentypen in TensorBoard.
Einige von ihnen sind unten erwähnt -
Graph
Scalar
Histogram
Embedding
Image
Text
Audio
Präzisionsrückrufkurve
MXFusion
MXFusion ist eine modulare probabilistische Programmierbibliothek mit tiefem Lernen. Mit MXFusion können wir die Modularität, die ein Schlüsselmerkmal von Deep-Learning-Bibliotheken ist, für die probabilistische Programmierung voll ausnutzen. Es ist einfach zu bedienen und bietet den Benutzern eine bequeme Oberfläche zum Entwerfen probabilistischer Modelle und zum Anwenden auf die realen Probleme.
MXFusion wird unter Python Version 3.4 und höher unter MacOS und Linux OS überprüft. Um MXFusion zu installieren, müssen zuerst die folgenden Abhängigkeiten installiert werden:
MXNet> = 1,3
Networkx> = 2.1
Mit Hilfe des folgenden Befehls pip können Sie MXFusion installieren -
pip install mxfusion
TVM
Apache TVM, ein Open-Source-End-to-End-Deep-Learning-Compiler-Stack für Hardware-Backends wie CPUs, GPUs und spezialisierte Beschleuniger, soll die Lücke zwischen produktivitätsorientierten Deep-Learning-Frameworks und leistungsorientierten Hardware-Backends schließen . Mit der neuesten Version MXNet 1.6.0 können Benutzer Apache (Inkubation) TVM nutzen, um leistungsstarke Operator-Kernel in der Programmiersprache Python zu implementieren.
Apache TVM startete tatsächlich als Forschungsprojekt an der SAMPL-Gruppe der Paul G. Allen School für Informatik und Ingenieurwesen der Universität von Washington. Jetzt wird es bei der Apache Software Foundation (ASF) inkubiert, die von einem OSC ( Open Source Community), an der mehrere Industrie- und akademische Einrichtungen nach Apache-Art beteiligt sind.
Im Folgenden sind die Hauptfunktionen von Apache (Inkubation) TVM aufgeführt:
Vereinfacht den früheren C ++ - basierten Entwicklungsprozess.
Ermöglicht die gemeinsame Nutzung derselben Implementierung für mehrere Hardware-Backends wie CPUs, GPUs usw.
TVM bietet die Kompilierung von DL-Modellen in verschiedenen Frameworks wie Kears, MXNet, PyTorch, Tensorflow, CoreML und DarkNet zu minimal bereitstellbaren Modulen auf verschiedenen Hardware-Backends.
Es bietet uns auch die Infrastruktur, um automatisch Tensoroperatoren mit besserer Leistung zu generieren und zu optimieren.
XFer
Xfer, ein Transfer-Lernframework, ist in Python geschrieben. Grundsätzlich wird ein MXNet-Modell verwendet und ein Metamodell trainiert oder das Modell auch für einen neuen Zieldatensatz geändert.
Mit einfachen Worten, Xfer ist eine Python-Bibliothek, mit der Benutzer schnell und einfach Wissen übertragen können, das in DNN (Deep Neural Networks) gespeichert ist.
Xfer kann verwendet werden -
Zur Klassifizierung von Daten beliebigen numerischen Formats.
Zu den häufigsten Fällen von Bildern oder Textdaten.
Als Pipeline, die Spam vom Extrahieren von Features bis zum Trainieren eines Repurposers (eines Objekts, das die Klassifizierung in der Zielaufgabe durchführt) spammt.
Im Folgenden sind die Funktionen von Xfer aufgeführt:
Ressourceneffizienz
Dateneffizienz
Einfacher Zugang zu neuronalen Netzen
Unsicherheitsmodellierung
Rapid-Prototyping
Dienstprogramme zum Extrahieren von Features aus NN