Apache MXNet
Apache MXNet — фреймворк машинного обучения с открытым исходным кодом, использующийся для обучения и развертывания сетей глубого обучения. Он масштабируем, что позволяет проводить быстрое обучение модели и поддерживает гибкие модели программирования и множественные языки программирования (включая C++, Python, Java, Julia, MATLAB, JavaScript, Go, R, Scala, Perl, и Wolfram). Библиотека MXNet портируема и может масштабироваться с использованием множества графифических процессоров[2], а также с использованием множества компьютеров. MXNet был совместно разработан с Карлосом Гестрином в Университете Вашингтона (вместе с GraphLab)[3].
Что важно знать
| Apache MXNet | |
|---|---|
| Тип | Library for machine learning and deep learning |
| Разработчик | Apache Software Foundation |
| Написана на | C++, Python, R, Java, Julia, JavaScript, Scala, Go, Perl |
| Операционные системы | Windows, macOS, Linux |
| Последняя версия | |
| Репозиторий | github.com/apache/incuba… |
| Лицензия | Apache License 2.0 |
| Сайт | mxnet.apache.org |
Функциональные возможности
Apache MXNet — масштабируемый фреймворк, предназначенный для глубокого обучения и поддерживающий различные модели, в том числе, такие как: Свёрточные нейронные сети (CNNs) и сети долгой краткосрочной памяти (LSTMs).
На основе исследований Университета Карнеги-Меллона, и компаний Baidu и Google MXNet может быть распространен на динамической облачной инфраструктуре с использованием распределенного сервера параметров[4]). With multiple GPUs or CPUs the framework approaches linear scale.
MXNet поддерживает как императивное, так и символьное программирование. Фреймворк позволяет разработчикам производить отслеживание, отлаживание, сохранение контрольных точек, изменение гиперпараметров, и выполнение ранней остановки.
MXNet поддерживает Python, R, Scala, Clojure, Julia, Perl, MATLAB и JavaScript при фронтенд разработки, и C++ для бэкенд оптимизации.
MXNet поддерживает эффективное развертывание обученной модели для использования на недорогих устройствах, таких как мобильные устройства (с использованием Amalgamation[5]), устройства класса Интернет вещей (с использованием AWS Greengrass), бессерверные вычисления (с использованием AWS Lambda) или контейнеров. Эти невысокопроизводительные среды могут только иметь более слабый центральный процессор или ограниченную оперативную память (RAM), и должны иметь возможность использовать модели, которые были обучены с использованием более высыкопроизводительных сред (например, кластеров основанных на графических процессорах).
MXNet поддерживается поставщиками публичных облачных вычислений, в число которых входит Amazon Web Services (AWS)[6] иMicrosoft Azure[7]. Компания Amazon выбрала MXNet, в качестве основного фреймворка глубоко обучения на AWS[8][9]. На сегодняшний день, MXNet поддерживается Intel, Baidu, Microsoft, Wolfram Research, и исследовательскими институтами такими, как Университет Карнеги — Меллона, Массачусетский технологический институт, Вашингтонский университет, и Гонконгский университет науки и технологии[10].


