MXNet : maitriser ce framework de deep learning performant
Développé par l'Apache Software Foundation, MXNet est un framework de deep learning écrit en Python. Il permet de générer des réseaux de neurones artificiels dans le cadre de projets d'IA.
MXNet, c’est quoi ?
Disponible en open source sous licence Apache, MXNet est un framework de deep learning écrit en langage Python conçu pour créer et déployer des réseaux de neurones artificiels. Il est optimisé pour tourner sur des infrastructures machines type GPU.
MXNet prend en charge à la fois les réseaux de neurones convolutionnels et les réseaux de neurones récurrents à mémoire court et long terme. Supporté notamment par les clouds d'Amazon (AWS) et de Microsoft (Azure), il est compatible avec plusieurs langages de programmation au-delà de Python : C++, Matlab, JavaScript, R, Scala...
Comment télécharger MXNet ?
GitHub permet de télécharger MXNet. Il est possible de sélectionner différents modules ou de privilégier une version spécifique. Autre moyen : se rendre sur le site du projet open source pour télécharger la dernière version du framework de deep learning.
Comment installer MXNet ?
Pour installer MXNet, on peut passer par un système écrit en langage Python. Le gestionnaire de packages Conda est compatible avec différents environnements d’exploitation, dont Windows, macOS et Linux. Après avoir téléchargé le paquage Conda relatif à MXNet, l’installation nécessite d’entrer la ligne de code suivante : "conda install -c anaconda mxnet".
Il est aussi possible de recourir à pip pour installer MXNet. Le principe reste similaire. Il suffit de sélectionner le package pip correspondant à la version MXNet souhaitée, de lancer la procédure, puis d’entrer le code : "pip install mxnet".
Comment utiliser les GPU avec MXNet ?
La génération d’un réseau de neurones profond privilégie les GPU aux processeurs CPU pour augmenter la puissance de calcul. Afin d’utiliser MXNet dans de bonnes conditions, il est essentiel de vérifier la compatibilité du GPU et de disposer de la version adaptée du framework de deep learning.
Qu’est-ce que Gluon dans MXNet ?
Gluon est une bibliothèque intégrée à MXNet pour se lancer dans le deep learning à partir d’un appareil mobile, d’un périphérique ou du cloud. Objectif : créer des prototypes, des réseaux convolutifs ou des régressions linéaires.
Via Symbol, MXNet permet par ailleurs d'hybrider un réseau de neurones en tirant partie de la performance d'un graph symbolique.
MXNet vs PyTorch, quelle différence ?
Pytorch est un framework de deep learning très populaire du fait de son approche par API facile d'accès et sa programmation impérative.
Comparé à Pytorch, l'un des points forts de MXNet est d'intégré l'API Gluon. Elle lui confère la simplicité et la flexibilité de Pytorch tout en permettant d'hybrider les réseaux de neurones via la notion de graph symbolique pour les optimiser en performance. Autre différence : alors que MXNet est multilangage, Pytorch se limite à Python et C++.
MXNet vs TensorFlow : quelle différence ?
TensorFlow est beaucoup plus populaire que MXNet. Sa communauté de développeurs est par conséquent nettement plus étendue.
TensorFlow intègre par ailleurs des composants pour le monitoring (Tensorboard) et le déploiement de modèles sur les objets connectés (TensorFlow Lite). Des briques que MXNet ne propose pas nativement. Néanmoins, il est considéré comme moins performant que MXNet.