Альтернативы Python OSS для Matlab Neural Network Toolbox. Любые взаимные сравнения?


16

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

К счастью, я довольно свободно говорю на Python (и мне нравится язык), и с помощью процедур чтения и записи NumPy, SciPy, Matplotlib, Basemap и NetCDF это удовлетворяет большинству моих потребностей. Большинство - я все еще возвращаюсь в Matlab, когда мне нужно обучать спутниковые поиски, используя многослойные персептроны с прямой связью, например, использовать искусственные нейронные сети.

Как обычно в программном обеспечении с открытым исходным кодом, существует более одного пакета, который делает нейронные сети. Значительно больше одного:

  • Некоторое время назад я попробовал PyBrain , «швейцарский армейский нож для нейронных сетей», но мне не удалось добиться удовлетворительных результатов за короткое время (как во время разработки, так и во время выполнения). Возможно, я не старался изо всех сил, или, возможно, это не совсем соответствует моей потребности.

  • Только сейчас я обнаружил, что есть пакет под названием neurolab , который выглядит многообещающе: простая и мощная библиотека нейронных сетей для Python с API, подобным Neural Network Toolbox (NNT) от MATLAB .

  • Существует FFnet , быстрое и простое в использовании решение для обучения нейронной сети с прямой связью для python.

  • Есть просто

  • Существует Peach , библиотека для вычислительного интеллекта и машинного обучения

  • Существуют привязки Python к FANN , библиотеке быстрой искусственной нейронной сети , которая фактически описана как стандарт в этой статье StackOverflow .

  • Есть, наверное, другие.

Кто-нибудь прошел через сравнение различных опций на основе таких критериев, как простота использования, скорость и т. Д.? Мой собственный вариант использования - спутниковые поиски, например, подгонка сильно нелинейной функции многих переменных. Я очень много пользуюсь нейронными сетями; Я не заинтересован в исследовании их внутренней работы.

Этот вопрос на Stats.SE связан, но с другим акцентом.


Ваш вопрос очень интересный, но я думаю, что вы просите слишком много. Всесторонняя оценка различных программ для нейронной сети на python слишком широка, чтобы отвечать на этом форуме. Может быть полезно сузить фокус вашего вопроса до определенного критерия и программного обеспечения, которые вас интересуют.
Павел

Кроме того, мы не можем перенести ваш вопрос, так как он слишком старый . Если вы чувствуете, что другой сайт SE больше подходит для вашего вопроса, вам придется удалить этот и разместить его на другом сайте. Даже если вы перепостите вопрос, я по-прежнему чувствую, что в ваших интересах сузить сферу вашего вопроса, чтобы повысить вероятность получения хорошего ответа.
Павел

Не Python, но в настоящее время я использую caffe для нейронной сети. Главным образом для сверточной нейронной сети, но еще проще настроить обычный NN.
Сиюань Рен

Межсайтовый дубликат: datascience.stackexchange.com/q/694/6
gerrit

Ответы:


1

Вы проверяли scikit-learn ? Это совершенно не моя область, но я слышал о некоторых очень положительных впечатлениях от пользователей ...


Попал бы в категорию. Возможно, есть и другие - добавление еще одной библиотеки в список не решает мою проблему, а скорее расширяет возможности
взаимного

Ну, из того, что я слышал и читал, преимущество scikit-learn заключается в том, что это фреймворк, содержащий множество методов. Возможно, это облегчит вашу работу, когда вы сделаете взаимное сравнение методов, примененных к вашей проблеме.
GertVdE

3
scikit-learn не содержит методов нейронной сети, искусственная модель нейронной сети была удалена в 0.12, и в то время они рекомендовали пользователям, которым требовалась эта функциональность, перейти на PyBrain.
Арон Ахмадиа

1

Вы смотрели на Теано ? кажется довольно мощным .


1
Действительно, Теано очень могущественен. Но это компилятор (или фреймворк), который позволяет писать код на Python, который затем компилируется и выполняется на GPU. Theano можно использовать для реализации NN, но это не библиотека ML.
Артём Соболев

1

Я тоже пришел от использования нейронных сетевых операций в Matlab для Python. Одна из самых мощных библиотек в Python - это "Pylearn2" http://deeplearning.net/software/pylearn2/ . В настоящее время это самая активная библиотека, в которой можно поэкспериментировать. Он основан на Theano и поэтому быстр и может быть запущен на GPU. К сожалению, это тоже его недостаток: API постоянно меняется и имеет высокую кривую обучения. Вы также должны настроить свои нейронные сети, используя файлы YAML. У меня был больший успех, используя PyBrain для создания основных нейронных сетей. Мне нужно было решить проблему регрессии, где я должен был прогнозировать нагрузку на электростанцию ​​на основе погодных факторов. Руководство здесь: http://fastml.com/pybrain-a-simple-neural-networks-library-in-python/ дал мне 90% раствора, который мне был нужен.

Одна проблема, которую я нашел с PyBrain, была скорость. Это написано изначально на Python. Я обнаружил, что обучение нейронной сети примерно в 50 раз медленнее, чем у Matlab. Некоторые другие добились успеха в ускорении процесса обучения PyBrain с библиотекой arac.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.