Библиотека нейронных сетей с открытым исходным кодом [закрыто]
Я ищу библиотеку нейронных сетей с открытым исходным кодом. До сих пор я смотрел на Фанн, 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 вручную.
- Керрас - это лучшие из этой категории на мой взгляд: полезные, мощные и активно развиваемые. Он может использовать Tensorflow, Феано и CNTK по в качестве бэкэнда.
- TensorFlow из Google (C++/Python)
- CNTK по от Microsoft (обучение на Python / оценка на C++/C#/Java/Python)
- Caffe из Berkeley 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)
- формирователя цепочки (Python)
- MatConvNet (Matlab)
- PaddlePaddle, CUDA / C++ с привязками Python
- NNabla в Cuda / c++11 С Python привязки
сравнение производительности для GPU-ускоренных библиотек можно найти здесь (немного устарела, к сожалению). Сравнение версий графических процессоров и библиотек можно найти здесь.
неактивные:
- Феано (Python) и его API высокого уровня:
- cuda-convnet2 в CUDA / C++ с привязками Python
- Хебель (Python)
Если вы хотите гибкость в определении сетевых конфигураций, таких как совместное использование параметров или создание различных типов сверточных архитектур, то вы должны посмотреть на семейство библиотек 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 (т. е. нет других требуются наборы инструментов). Он не совместим с более ранними версиями Матлаб.