2014-09-13 2 views
1

J'ai besoin d'implémenter dans matlab un autoencodeur de débruitage empilé pour l'extraction de caractéristiques sur les mammographies. Je suis en train de tester le code déjà fourni par la boîte à outils d'apprentissage en profondeur, mais il contient des erreurs et je ne sais pas comment les corriger. Auriez-vous connaissance de tutoriels sur l'utilisation de la boîte à outils? J'ai cherché sur le net, mais je n'ai rien trouvé d'utile. Les erreurs que je reçois, au cas où quelqu'un a une solution sont:tutoriel sur l'apprentissage en profondeur toolbox-matlab

Error using horzcat 
Out of memory. Type HELP MEMORY for your options. 

Error in nnff (line 9) 
x = [ones(m,1) x]; 

Error in nneval (line 7) 
nn     = nnff(nn, train_x, train_y); 

Error in nntrain (line 66) 
    loss = nneval(nn, loss, train_x, train_y); 

Error in saetrain (line 4) 
    sae.ae{i} = nntrain(sae.ae{i}, x, x, opts); 

Merci beaucoup! :)

+0

L'erreur est totalement sans rapport avec la boîte à outils, il est tout simplement insuffisante RAM disponible pour exécuter le code. Commencez à lire ici http://www.mathworks.com/help/matlab/matlab_prog/resolving-out-of-memory-errors.html – Daniel

+0

Merci! Qu'en est-il des autres erreurs? Sont-ils tous dus à une RAM insuffisante? –

+0

quelles autres erreurs? Votre question contient uniquement un message d'erreur unique incluant la pile d'erreurs complète où elle se produit. – Daniel

Répondre

1

Premièrement, Matlab peut facilement obtenir une "mémoire insuffisante" au cas où il nécessiterait toujours un grand bloc de mémoire continue pour stocker n'importe quel type de matrice ou de vecteur. L'exécution du code MATLAB équivaut à scinder la mémoire. Donc, je vous suggère de faire attention à cela et vous devriez commencer avec un petit ensemble de données et d'abord vous devriez le faire fonctionner.

Deuxièmement, here est quelques conseils pour résoudre le Out of Memory qui peut-être utile. Je dois néanmoins dire qu'il n'est peut-être pas utile de le résoudre en fonction de mes tentatives antérieures. Dans le cas où vous utilisez une machine 32 bits, la mémoire à laquelle vous pouvez accéder est limitée à 2^32 = 4GB et ceci est facilement atteint lors de l'exécution empirique de certaines tâches Deep Learning. Enfin, je vous suggère de commencer par utiliser un petit jeu de données tel que MNIST pour le faire fonctionner, après quoi vous devriez garantir que votre matlab fonctionne sur une machine 64 bits (un serveur auquel vous pourriez accéder pourrait être optimal). Si vous rencontrez toujours ce problème douloureux, je vous suggère d'essayer d'autres outils off-the-shell DeepLearning basés sur GPU ou un schéma de calcul parallèle. Vous devriez savoir Deep Learning est généralement basé sur un framework de calcul haute performance. Ne pas essayer d'utiliser votre ordinateur portable pour l'exécuter :))

Matlab est pas puissant lors de l'utilisation grand ensemble de données ...