Apache MXNet

Apache MXNet – це фреймворк глибинного навчання, спроектований для ефективної та гнучкої роботи [MXNet]. Це дозволяє змішувати символьне та імперативне програмування для максимізації ефективності та продуктивності.

MXNet – це бібліотека з відкритим кодом для глибинного навчання, API якої підтримує мови R, Python, Julia та інші [Chen 2015]. Її було розреблено Педро Домінгосом та командою дослідників з Вашингтонського університету, також є частиною DMLC [DMLC]. У своїй основі MXNet містить планувальник динамічних залежностей, який автоматично паралелізує як символьні, так і імперативні операції на ходу. Шар оптимізації графів поверх цього робить символьне виконання швидким та ефективним у пам’яті. MXNet – портативний і легкий, до того ж ефективно масштабуються на велику кількість графічних процесорів на декількох машинах. Поширюється за ліцензією Apache-2.0. MXNet підтримується великими публічними постачальниками хмарних послуг. Також підтримує ефективне розгортання підготовленої моделі для довільних пристроїв, таких як мобільні пристрої (з використанням Amalgamation Amalgamation), пристрої IoT (за допомогою AWS Greengrass), Serverless (за допомогою AWS Lambda) та контейнери.

Сильні сторони:
Планувальник динамічних залежностей (автоматичний паралелізм).
Дуже добре організована масштабованість на декількох графічних процесорах(GPU) та процесорах(CPU), що робить її дуже корисною для підприємств.
Підтримує гнучку модель програмування та кілька мов (C ++, Python, Julia, Matlab, JavaScript, Go, R, Scala, Perl, Wolfram Language).
Підтримує формат Open Neural Network Exchange (ONNX), що дозволить легко переходити між CNTK, Caffe2, PyTorch, MXNet та іншими інструментами DL.

Слабкі сторони:
API в деяких випадках не дуже зручні для користувачів. Однак у нього є дві зручні для користувача обгортки (Keras і Gluon).
Відмінно підходить для паралельних виробничих робіт, але менш гнучкий для досліджень DL.