Ответ 1
Последнее обновление: 2017/12/17 (время от времени я буду обновлять этот ответ...)
Стандартные реализации нейронных сетей
- FANN - очень популярная реализация в C/С++ и имеет привязки для многих других языков.
- Я думаю, что WEKA не имеет очень хорошей реализации для нейронных сетей. Существует лучшая библиотека для Java (и С#): Encog.
- В scikit-learn (Python) 0.18 (текущая версия разработки) появится реализация нейронных сетей с обратной связью (документация по API).
- PyBrain (Python) содержит различные типы нейронных сетей и методы обучения.
- И я должен упомянуть свой собственный проект, который называется OpenANN (Документация). Он написан на С++ и имеет привязки Python.
Глубокое обучение
Поскольку существует огромная шумиха вокруг нейронных сетей ( "глубокое обучение" ), существует множество доступных исследовательских библиотек, которые, возможно, не так-то просто настроить, интегрировать и использовать. С другой стороны, они обеспечивают передовые функциональные возможности и высокую производительность (с графическими процессорами и т.д.).
- Keras является лучшим из этой категории, на мой взгляд: полезной, мощной и активно развитой. В качестве альтернативы Theano он может использовать TensorFlow, Theano и CNTK в качестве бэкэнд.
- TensorFlow от Google (С++/Python)
- CNTK от Microsoft (обучение в Python/оценка на С++/С#/Java/Python)
- Caffe из Berkeley Vision и Learning Center в С++ с привязками к Python
- Caffe2 от Facebook в С++ с привязками к Python
- PyTorch от Facebook, на Python, может быть расширен с помощью C/С++
- mxnet (С++, Python, R, Scala, Julia, Matlab, Javascript)
- Lasagne на основе Theano (Python)
- Blocks на основе Theano (Python)
- Neon обеспечивает очень эффективные реализации (Python)
- Neural Networks для Torch 7 (Lua, Torch 7 - это "Matlab-подобная среда", обзор алгоритмов машинного обучения в факеле)
- Deeplearning4j (Java)
- Chainer (Python)
- MatConvNet (Matlab)
- PaddlePaddle, CUDA/С++ с привязками к Python
- NNabla в Cuda/С++ 11 с привязками Python
Сравнение производительности для библиотек с ускорением GPU можно найти здесь (к сожалению, устарел). Сравнение графических процессоров и версий библиотек можно найти здесь.
Неактивный:
- Theano (Python) и его высокоуровневые API:
- cuda-convnet2 в CUDA/С++ с привязками Python
- Hebel (Python)