Apache MXNet - Системная архитектура

Эта глава поможет вам понять архитектуру системы MXNet. Давайте начнем с изучения модулей MXNet.

Модули MXNet

На приведенной ниже диаграмме представлена ​​архитектура системы MXNet и показаны основные модули и компоненты MXNet modules and their interaction.

На приведенной выше диаграмме -

  • Модули в синих коробках User Facing Modules.

  • Модули в зеленых прямоугольниках System Modules.

  • Сплошная стрелка означает сильную зависимость, т.е. сильную зависимость от интерфейса.

  • Пунктирная стрелка обозначает легкую зависимость, т.е. используемую структуру данных для удобства и согласованности интерфейса. Фактически, его можно заменить на альтернативы.

Давайте поговорим подробнее о пользовательских интерфейсах и системных модулях.

Модули, ориентированные на пользователя

Модули, ориентированные на пользователя, следующие:

  • NDArray- Он предоставляет гибкие императивные программы для Apache MXNet. Это динамические и асинхронные n-мерные массивы.

  • KVStore- Он действует как интерфейс для эффективной синхронизации параметров. В KVStore KV означает «ключ-значение». Итак, это интерфейс хранилища ключей и значений.

  • Data Loading (IO) - Этот модуль взаимодействия с пользователем используется для эффективной распределенной загрузки и увеличения данных.

  • Symbol Execution- Это исполнитель статического символьного графа. Он обеспечивает эффективное выполнение и оптимизацию символьного графа.

  • Symbol Construction - Этот модуль взаимодействия с пользователем предоставляет пользователю способ построения графа вычислений, т.е. сетевой конфигурации.

Системные модули

Системные модули следующие -

  • Storage Allocator - Этот системный модуль, как следует из названия, эффективно распределяет и перерабатывает блоки памяти на хосте, то есть ЦП и различных устройствах, например графических процессорах.

  • Runtime Dependency Engine - Модуль движка зависимостей времени выполнения планирует, а также выполняет операции в соответствии с их зависимостями чтения / записи.

  • Resource Manager - Системный модуль Resource Manager (RM) управляет глобальными ресурсами, такими как генератор случайных чисел и временное пространство.

  • Operator - Модуль системы операторов состоит из всех операторов, которые определяют статический прямой и градиентный расчет, т.е. обратное распространение.