Библиотека нейронных сетей с открытым исходным кодом [закрыто]

Я ищу библиотеку нейронных сетей с открытым исходным кодом. До сих пор я смотрел на Фанн, Weka и OpenNN. Другие, на которые я должен смотреть? Критериями, конечно же, являются документация, примеры и простота использования.

4 ответов


последнее обновление: 2017/12/17 (Я буду обновлять этот ответ время от времени...)

стандартные реализации нейронных сетей

  • Фанн является очень популярной реализацией на C / C++ и имеет привязки для многих других языков.
  • Я думаю, что у WEKA не очень хорошая реализация для нейронных сетей. Лучшая библиотека для Java (и C#): Encog.
  • в scikit-learn (Python) 0.18 (текущая версия разработки) будет реализована реализация нейронных сетей обратной связи (документация по API).
  • PyBrain (Python) содержит различные типы нейронных сетей и методы обучения.
  • и я должен упомянуть свой собственный проект, который называется OpenANN (документация). Он написан на C++ и имеет привязки Python.

Глубокое Изучение

потому что есть вокруг нейронных сетей ("глубокое обучение") существует множество исследовательских библиотек, которые, возможно, не так легко настроить, интегрировать и использовать. С другой стороны, они обеспечивают функциональность и высокую эффективность ведущей кромки (с графическими процессорами etc.). Большинство этих библиотек также имеют автоматическую дифференциацию. Вы можете легко указать новые архитектуры, функции потерь и т. д. и не нужно указывать backpropagation вручную.

сравнение производительности для GPU-ускоренных библиотек можно найти здесь (немного устарела, к сожалению). Сравнение версий графических процессоров и библиотек можно найти здесь.

неактивные:


Если вы хотите гибкость в определении сетевых конфигураций, таких как совместное использование параметров или создание различных типов сверточных архитектур, то вы должны посмотреть на семейство библиотек Torch:http://www.torch.ch/.

Я еще не просмотрел документацию для Torch 7, но документация для других версий была довольно приличной, и код очень удобочитаем (в Lua и c++).


вы можете использовать accord.net рамки. http://accord-framework.net/

Он содержит алгоритмы нейронного обучения, такие как Левенберг-Марквардт, параллельная упругая обратное перемещение, алгоритм инициализации Нгуен-Видроу, сети глубокого убеждения и ограниченные машины Больцмана и многие другие элементы, связанные с нейронной сетью.


Netlab является широко используемой библиотекой Matlab. (бесплатно и с открытым исходным кодом)

набор инструментов Netlab предназначен для обеспечения необходимых центральных инструментов для моделирования теоретически обоснованной нейронной сети алгоритмы и связанные с ними модели для использования в преподавании, исследованиях и разработка приложений. Он обширно использован в MSc мимо Исследования в области математики сложных систем.

библиотека Netlab включает программное обеспечение реализации широкого спектра из методов анализа данных, многие из которых еще не доступны в стандартные пакеты моделирования нейронных сетей. Netlab работает с Matlab версия 5.0 и выше, но требуется только core Matlab (т. е. нет других требуются наборы инструментов). Он не совместим с более ранними версиями Матлаб.