я имел большой опыт как с mxnet
и Theano
(через лазаньи и keras)
Бенчмаркинг всегда предвзятый, поэтому я не буду комментировать это, за исключением того, что все фреймворки очень быстрые. Вот несколько вещей, которые должны помочь вам решить:
Theano
по сравнению с mxnet
походит на монтаж по сравнению с питоном. Theano имеет примитивы низкого уровня для создания моделей машинного обучения, и сам по себе не определяет ни слоев, ни оптимизаторов, и вы обычно используете его с некоторой библиотекой глубокого обучения, такой как лазанья или кера, а mxnet
- более высокий уровень. Таким образом, сравнение тарифов будет mxnet
против Keras
, а не mxnet
против Theano
.
mxnet
- это более современная библиотека, и некоторые вещи в ней еще не отшлифованы, и в Интернете есть меньше ресурсов, чем для Theano
.
Theano
(и поэтому Lasagne and Keras) компилируют модели, когда они запускают их впервые в C++ и Cuda, что очень медленно. Для очень сложной модели, такой как развернутый LSTM, для компиляции может потребоваться несколько минут. Это, как правило, очень мало по сравнению с временем, которое потребуется для модели для обучения (от нескольких часов до нескольких недель), но очень раздражает, когда вы прототип.
В целом, если вы выбираете между этими двумя рамками, я хотел бы предложить Theano + Keras для всего для рецидивирующей или очень глубоких сетей, за исключением, в противном случае компиляция в Theano
будет убивать вас.
Также смотрите TensorFlow
. Он (субъективно) медленнее, чем mxnet
, но более зрелый и имеет больше ресурсов в Интернете.
Я слышал, что TensorFlow работает медленно и имеет ограниченные возможности –
@quantCode, мои собственные эксперименты также показывают, что TensorFlow работает медленнее. Бит «имеет ограниченные возможности» не является точным. Вряд ли вам понадобится что-то для ваших моделей, которые TensorFlow не предлагает. – Ishamael
Не согласен с 1. 'mxnet' имеет поддержку парадигмы символического программирования, которая похожа на' Theano'. – Kh40tiK