Я хотел бы быть независимым от коммерческого программного обеспечения для моей научной работы. Я нахожу зависимость от коммерческих пакетов, таких как 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 связан, но с другим акцентом.
источник
Ответы:
Вы проверяли scikit-learn ? Это совершенно не моя область, но я слышал о некоторых очень положительных впечатлениях от пользователей ...
источник
Вы смотрели на Теано ? кажется довольно мощным .
источник
Я тоже пришел от использования нейронных сетевых операций в 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.
источник