MXNet

From air
Revision as of 16:24, 13 January 2020 by Leni.Gauffier (talk | contribs) (Gluon)
Jump to: navigation, search

Apache MXNet est un framework de Deep Learning développé par la Apache Software Foundation. Il permet de développer et d'entraîner des modèles de réseaux de neurones, dont les réseaux neuronaux convolutifs (CNN) ou les réseaux de neurones récurrents (RNN). Ce framework multi-plateforme est particulièrement optimisé pour des déploiements sur des systèmes distribués et est nativement supporté par les environnements clouds comme AWS.


Abstract

Apache MXNet is a deep learning framework maintained by Apache Software Foundation. It allows programmers to model and train various kinds of neural networks, such as Convulutional Neural Networks (CNN) or Recurrent Neural Networks (RNN). This multi-platform framework is especially optimized to be deployed on distributed systems and as such is currently one of the few frameworks natively supported by cloud environments such as AWS.

Caractéristiques

Scalable : MXNet est conçu pour être distribué sur une infrastructure cloud dynamique, utilisant un serveur de paramètres distribué et peut atteindre une échelle presque linéaire avec plusieurs GPU ou processeurs .

Flexible : MXNet prend en charge la programmation impérative et symbolique, Cela facilite également le suivi, le débogage, la sauvegarde des points de contrôle, la modification des hyperparamètres, tels que le taux d’apprentissage ou les arrêts précoces .

Multiple languages : Prise en charge du C ++ pour un backend optimisé afin de tirer le meilleur parti du processeur graphique ou du processeur disponible, ainsi que Python, R, Scala, Clojure, Julia, Perl, MATLAB et JavaScript pour une interface simple pour les développeurs.

Portable : Prend en charge le déploiement efficace d'un modèle formé sur des périphériques bas de gamme, tels que les périphériques mobiles les périphériques Internet des objets l'informatique sans serveur ou les conteneurs. Ces environnements bas de gamme ne peuvent avoir qu'un processeur plus faible ou une mémoire limitée et devraient pouvoir utiliser les modèles formés dans un environnement de niveau supérieur.

Écosystème

MXNet propose plusieurs librairies et outils supplémentaires qui viennent enrichir ses capacités.

GluonCV : Un toolkit spécialisé dans la Computer Vision, qui contient une interface supplémentaires pour aider dans les problèmes de type CV, des modèles pré-entrainés et des scripts d'entrainements. https://gluon-cv.mxnet.io/

GluonNLP : Des modèles d'entraînements spécifiques au NLP (traitement de langage naturel) https://gluon-nlp.mxnet.io/

GluonTS : Un toolkit pour le Probabilistic Time Series Modeling, offre une API adaptée à des séries temporelles et des modèles répondants aux problèmes à base de séries temporelles probabilistes. https://gluon-ts.mxnet.io/

MXBoard : Une API pour faire le lien entre les modèles de MXNet et un board Tensorboard pour la visualisation des entraînements. https://github.com/awslabs/mxboard

Gluon

Gluon est l'interface de programmation impérative de MXNet pour modéliser les réseaux de neurones. Assez similaire à l'approche utilisée par Pytorch, elle permet de définir des modèles flexibles et faciles à mettre en place. Gluon possède aussi une classe hybride (HybridBlock) qui permet d'allier la facilité du modèle impératif avec les performances de l'approche symbolique.

Vous pouvez trouver un exemple d'utilisation sur ce lien :