Apache MXNet - Architecture système

Ce chapitre vous aidera à comprendre l'architecture du système MXNet. Commençons par découvrir les modules MXNet.

Modules MXNet

Le schéma ci-dessous est l'architecture du système MXNet et il montre les principaux modules et composants de MXNet modules and their interaction.

Dans le diagramme ci-dessus -

  • Les modules dans les cases de couleur bleue sont User Facing Modules.

  • Les modules dans les cases de couleur verte sont System Modules.

  • La flèche pleine représente une forte dépendance, c'est-à-dire s'appuie fortement sur l'interface.

  • La flèche en pointillé représente la dépendance légère, c'est-à-dire la structure de données utilisée pour la commodité et la cohérence de l'interface. En fait, il peut être remplacé par les alternatives.

Parlons plus en détail du contact avec les utilisateurs et des modules système.

Modules orientés utilisateur

Les modules destinés à l'utilisateur sont les suivants -

  • NDArray- Il fournit des programmes impératifs flexibles pour Apache MXNet. Ce sont des tableaux dynamiques et asynchrones à n dimensions.

  • KVStore- Il sert d'interface pour une synchronisation efficace des paramètres. Dans KVStore, KV signifie Key-Value. Donc, c'est une interface de magasin clé-valeur.

  • Data Loading (IO) - Ce module orienté utilisateur est utilisé pour un chargement et une augmentation efficaces des données distribuées.

  • Symbol Execution- C'est un exécuteur de graphe symbolique statique. Il fournit une exécution et une optimisation efficaces des graphes symboliques.

  • Symbol Construction - Ce module orienté utilisateur fournit à l'utilisateur un moyen de construire un graphe de calcul, c'est-à-dire une configuration réseau.

Modules système

Les modules système sont les suivants -

  • Storage Allocator - Ce module système, comme son nom l'indique, alloue et recycle efficacement les blocs de mémoire sur l'hôte, c.-à-d. CPU et différents périphériques, c.-à-d.

  • Runtime Dependency Engine - Le module du moteur de dépendance d'exécution planifie et exécute les opérations selon leur dépendance de lecture / écriture.

  • Resource Manager - Le module système Resource Manager (RM) gère les ressources globales telles que le générateur de nombres aléatoires et l'espace temporel.

  • Operator - Le module du système opérateur comprend tous les opérateurs qui définissent le calcul statique avant et le gradient, c'est-à-dire la rétropropagation.