Библиотека нейронных сетей с открытым исходным кодом [закрыто]
Я ищу библиотеку нейронных сетей с открытым исходным кодом. До сих пор я смотрел на FANN, WEKA и OpenNN. Есть ли другие, на которые я должен смотреть? Критерием, конечно же, является документация, примеры и простота использования.
4 ответа:
последнее обновление: 2017/12/17 (Я буду обновлять этот ответ время от времени...)
стандартные реализации нейронных сетей
- FANN является очень популярной реализацией в C / C++ и имеет привязки для многих других языков.
- Я думаю, что у WEKA нет очень хорошей реализации для нейронных сетей. Лучшая библиотека для Java (и C#): Encog.
- в scikit-learn (Python) 0.18 (текущая версия разработки) будет реализована прямая нейронная сеть (документация API).
- PyBrain (Python) содержит различные типы нейронных сетей и методы обучения.
- и я должен упомянуть свой собственный проект, который называется OpenANN (документация). Он написан на C++ и имеет привязки Python.
Глубокое Изучение
потому что есть огромная шумиха вокруг нейронных сетей ("глубокое обучение") есть много доступных исследовательских библиотек, которые, возможно, не так легко настроить, интегрировать и использовать. С другой стороны, они обеспечивают передовые функциональные возможности и высокую производительность (с графическими процессорами и т. д.). Большинство этих библиотек также имеют автоматическую дифференциацию. Вы можете легко указать новые архитектуры, функции потерь и т. д. и не нужно указывать обратное распространение вручную.
- Keras - это лучший из этой категории на мой взгляд: удобный, мощный и активно развивается. Он может использовать Tensorflow,Феано и CNTK в качестве бэкэнда.
- TensorFlow от Google (C++/Python)
- CNTK от Microsoft (обучение на Python / оценка в C++ / C# / Java / Python)
- Caffe из Беркли Vision and Learning Center на C++ С Python привязки
- Caffe2 из Facebook В C++ с привязками Python
- PyTorch из Facebook, в Python, может быть расширен с помощью C / C++
- mxnet (C++, Python, R, Scala, Julia, Matlab, Javascript)
- лазанья на основе Theano (Python)
- блоки на основе Theano (Python)
- Неон обеспечивает очень эффективную реализацию (Python)
- Нейронные Сети для Torch 7 (Lua, Torch 7 - это "Matlab-подобная среда",обзор алгоритмов машинного обучения в Torch)
- Deeplearning4j (Java)
- Chainer (Python)
- MatConvNet (Matlab)
- PaddlePaddle, CUDA / C++ с привязками Python
- NNabla в Cuda / C++11 С Python привязки
сравнение производительности для GPU-ускоренных библиотек можно найти здесь (немного устарела, к сожалению). Сравнение версий графических процессоров и библиотек можно найти здесь.
неактивные:
- Феано (Python) и его API высокого уровня:
- cuda-convnet2 в CUDA / C++ с привязками Python
- Hebel (Python)
Если вы хотите гибкость в определении сетевых конфигураций, таких как совместное использование параметров или создание различных типов сверточных архитектур, то вы должны посмотреть на семейство библиотек Torch:http://www.torch.ch/.
Я еще не просматривал документацию для Torch 7, но документация для других версий была довольно приличной, и код очень читаем (в Lua и C++).
вы можете использовать accord.net рамки. http://accord-framework.net/
Он содержит алгоритмы нейронного обучения, такие как Левенберг-Марквардт, параллельное упругое обратное распространение, алгоритм инициализации Нгуена-Видроу, сети глубоких убеждений и ограниченные машины Больцмана и многие другие элементы, связанные с нейронной сетью.
Netlab является широко используемой библиотекой Matlab. (бесплатно и с открытым исходным кодом)
инструментарий Netlab предназначен для обеспечения необходимых центральных инструментов для моделирования теоретически обоснованной нейронной сети алгоритмы и связанные с ними модели для использования в обучении, исследованиях и разработка приложений. Он широко используется в Мск купить Исследования в области математики сложных систем.
библиотека Netlab включает в себя программное обеспечение реализации широкого спектра из методов анализа данных, многие из которых еще не доступны в стандартные пакеты моделирования нейронных сетей. Netlab работает с Matlab версия 5.0 и выше, но требуется только ядро Matlab (т. е. нет других требуются наборы инструментов). Он не совместим с более ранними версиями Матлаб.