[MATLAB] compiler un réseau de neuronne en C++

compiler un réseau de neuronne en C++ [MATLAB] - C++ - Programmation

Marsh Posté le 15-01-2011 à 11:04:31    

Bonjour à tous,
 
Dans le cadre d'un projet, je dois compiler un programme Matlab utilisant des réseaux de neurone. Je dispose d'une version de matlab X64. Ce réseau de neurone a pour principe d'apprendre en ligne, tout en faisant varier le nombre de neurones de la couche cachée en fonction de la difficulté de la tâche. Pour développer ce programme, j'ai bien entendu utilité la toolbox neural network. Or, j'ai des soucis lors de la compilation: le programme se compile, mais ne marche pas. après plusieurs recherches, je suis tombé sur cet article:
 
http://www.mathworks.com/support/sol...lution=1-19HN4
 
Concrètement, Matlab peut compiler des programmes faisant appel à la neural network toolbox, mais il y a deux limites:
 
- Disposer d'un réseau pré-entrainé (en gros faire un apprentissage hors ligne, alors que mon réseau apprend en ligne...)
- Exporter le réseau sous simulink  
 
Comme vous pouvez en douter, je suis dans une impasse...
 
A l'origine, je compile mon programme en C pour pouvoir faire tourner plusieurs programmes simultanément qui vont interagir ensemble.
 
Comment je peux contourner ce problème? Avez-vous déjà été confronté à un tel problème?
 
Je vous remercie par avance de votre aide.
 
Cordialement,
 
Slifferstorm

Reply

Marsh Posté le 15-01-2011 à 11:04:31   

Reply

Marsh Posté le 15-01-2011 à 19:50:51    

1/ Ton lien ne passe pas.
2/ La NN toolbox est pas super bien écrite. Du coup, je ne suis pas étonné de voir ce genre de limitations. Mais il m'est avis que ces limitations sont volontaires (si tu peux faire l'apprentissage sans licence, à quoi sert cette dernière).
Et donc ça me semble mort pour faire exactement ce que tu veux (faire l'apprentissage dans une version compilée de ton script).
3/ C'est quoi exactement le but ? Construire un NN qui adapte son nombre de neurone dans la couche cachée ? Pourquoi utiliser une toolbox de matlab quand il y en a d'autres écrits dans d'autres langages qui sont gratuits et aussi performants ?

Reply

Marsh Posté le 16-01-2011 à 12:59:17    

Bonjour, et merci de ta réponse.
 
Désolé pour le lien, voici le bon:
http://www.mathworks.com/support/s [...] on=1-19HN4
 
Le but de ce projet est de faire un simulateur thermique dynamique d'un bâtiment, en utilisant des réseaux de neurone. Chaque pièce ou zone thermique modélisée utilisera un programme spécifique, dont la finalité sera en fait de faire un réseau de réseaux de neurones. Ces programmes seront liées car la sortie de l'un sera en fait l'entrée d'un autre, et vice-versa.
 
Un autre aspect de ce projet et que chaque programme sera capable de varier le nombre de neurones en fonction des résultats obtenus.
 
J'ai utilisé MATLAB pour travailler, car tout d'abord je dispose d'une licence. De plus, j'ai l'habitude de travailler dans cet environnement, je pensais éviter la phase "apprentissage d'un autre langage" comme le C/C++ où je n'ai que quelques notions. Enfin, j'ai utilisé la NN toolbox car je pensais que ça allait me faciliter la tâche (au début oui, mais maintenant ça me la complexifie! :) ). Dans tous les cas, je e pensais pas rencontrer ce genre de problème :/ (Surtout qu'il n'y a qu'une minaurité de toolbox qui posent problème lors de la compilation... et je suis en plein dedans ^^).
Ce que j'essaye de faire actuellement, c'est de reprogrammer mon programme sans appeler la NN toolbox. J'ai fait quelques tests (compiler un réseau simple avec apprentissage en ligne), et ça a l'air de marcher. Je vais continuer à compléter mon programme, pour voir si le programme final fonctionne, et surtout donne les résultats attendus. Je vous tiendrai au courant sur ce topic, si ça peut aider des gens, on sait jamais!
 
Bonne journée,


Message édité par slifferstorm le 16-01-2011 à 13:02:15

---------------
"Celui qui s'endort avec le cul qui gratte se réveille avec le doigt qui pue"
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed