Bibliothèque de réseau neuronal Open Source [Fermé]

Je suis à la recherche d'une bibliothèque de réseau neuronal open source. Jusqu'à présent, j'ai regardé FANN, WEKA et OpenNN. Sont les autres que je devrais regarder? Les critères, bien sûr, sont la documentation, les exemples et la facilité d'utilisation.

58
demandé sur Community 2012-07-13 23:32:11

4 réponses

Dernière mise à jour: 2017/12/17 (je mettrai à jour cette réponse de temps en temps...)

Implémentations Standard des réseaux de neurones

  • FANN est une implémentation très populaire en C / C++ et a des liaisons pour de nombreux autres langages.
  • je pense que WEKA n'a pas une très bonne implémentation pour les réseaux neuronaux. Il existe une meilleure bibliothèque pour Java (et C#): Encog .
  • dans scikit-learn (Python) 0.18 (version de développement actuelle), il y aura un mise en œuvre de réseaux neuronaux d'avance (documentation API ).
  • PyBrain (Python) contient différents types de réseaux neuronaux et de méthodes d'entraînement.
  • et je dois mentionner mon propre projet, qui s'appelle OpenANN (Documentation). Il est écrit en C++ et a des liaisons Python.

Apprentissage En Profondeur

Parce qu'il y a un énorme battage médiatique autour des réseaux de neurones ("deep learning"), il existe de nombreuses bibliothèques de recherche disponibles qui pourrait ne pas être si facile à configurer, intégrer et à utiliser. D'autre part, ils offrent des fonctionnalités de pointe et des performances élevées (avec des GPU, etc.). La plupart de ces bibliothèques ont également une différenciation automatique. Vous pouvez facilement spécifier de nouvelles architectures, fonctions de perte, etc. et ne pas avoir à spécifier le les manuellement.

Une comparaison des performances pour les bibliothèques accélérées par GPU peut être trouvée ici (un peu obsolète malheureusement). Une comparaison des GPU et des versions de bibliothèque peut être trouvée ici .

Inactif:

52
répondu alfa 2018-01-12 12:45:00

Si vous voulez une flexibilité dans la définition de configurations réseau, comme le partage de paramètres ou la création de différents types d'architectures convolutionnelles, alors vous devriez regarder la famille de bibliothèques Torch: http://www.torch.ch/.

Je n'ai pas encore parcouru la documentation pour Torch 7, mais la documentation pour les autres versions était assez décente et le code est très lisible (en Lua et C++).

5
répondu user1149913 2012-07-17 13:49:00

Vous pouvez utiliser accord.net cadre. http://accord-framework.net/

Il contient des algorithmes D'apprentissage neuronal tels que Levenberg-Marquardt, Parallel Resilient Backpropagation, l'algorithme d'initialisation Nguyen-Widrow, Deep Belief Networks et Restrictured Boltzmann Machines, et de nombreux autres éléments liés au réseau neuronal.

3
répondu turgay 2014-05-31 10:55:16

Netlab est une bibliothèque Matlab couramment utilisée. (libre et open source)

La boîte à outils Netlab est conçue pour fournir les outils centraux nécessaires pour la simulation de réseau neuronal théoriquement bien fondé algorithmes et modèles connexes pour l'enseignement, la recherche et développement d'applications. Il est largement utilisé dans le MSc par Recherche en mathématiques des systèmes complexes.

La bibliothèque Netlab inclut des implémentations logicielles d'une gamme techniques d'analyse des données, dont beaucoup ne sont pas encore disponibles dans paquets standard de simulation de réseau neuronal. Netlab fonctionne avec Matlab version 5.0 et supérieure, mais ne nécessite que core Matlab (c'est-à-dire pas d'autre les boîtes à outils sont obligatoires). Il n'est pas compatible avec les versions antérieures de Matlab.

2
répondu Franck Dernoncourt 2012-07-13 20:37:27