2015-11-12 3 views
10

J'ai reçu ce message à l'aide Keras pour former un RNN pour le modèle de langage avec un grand tenseur 3D (généré à partir d'un texte, un encodée chaud et résulte une forme de (165717, 25, 7631)):"g ++ non détecté" alors que le jeu de données augmente, y a-t-il une limite à la taille de la matrice dans GPU?

WARNING (theano.configdefaults): g++ not detected ! Theano will be unable to 
execute optimized C-implementations (for both CPU and GPU) and will default to 
Python implementations. Performance will be severely degraded. To remove this 
warning, set Theano flags cxx to an empty string. 
ERROR (theano.sandbox.cuda): nvcc compiler not found on $PATH. Check your nvcc 
installation and try again. 

Mais tout va bien alors que je limite la taille de l'ensemble de données en petit. Je me demande donc si Theano ou CUDA limitent la taille de la matrice? En outre, est-ce que j'ai une meilleure manière de faire une représentation chaude? Je veux dire, dans le grand tenseur 3D, la plupart des éléments sont 0 en raison de la représentation à un seul point chaud. Cependant, je n'ai pas trouvé de couche qui accepte la représentation d'index des mots.

+0

Cela ressemble à un message d'erreur assez clair pour moi et cela n'a rien à voir avec CUDA. Votre configuration de theano n'est pas correcte et il ne peut pas trouver les compilateurs hôte ou GPU. Fixez-le et le problème disparaîtra – talonmies

+0

@talonmies Je ne me suis pas fait comprendre. Mon code fonctionne assez bien avec un petit ensemble de données (juste pour déboguer mon code), une telle erreur se produit uniquement avec un grand ensemble de données. – nanoix9

+0

Oui, mais le message d'erreur vous indique également pourquoi cela se produit également. Pour les petites tailles, des implémentations Python pures sont utilisées car il n'y a aucun avantage de performance à essayer d'utiliser le GPU – talonmies

Répondre

3

Votre installation de Theano n'est pas terminée.

Il y a deux problèmes mentionnés dans le résultat collé de la question:

WARNING (theano.configdefaults): g++ not detected ! Theano will be unable to execute optimized C-implementations (for both CPU and GPU) and will default to Python implementations. Performance will be severely degraded. To remove this warning, set Theano flags cxx to an empty string.

Je pense que vous voyez celui-ci même avec de petites tailles de données, mais il est un avertissement si les choses continuent à courir avec succès (en utilisant pur implémentation de Python automatiquement).

ERROR (theano.sandbox.cuda): nvcc compiler not found on $PATH. Check your nvcc installation and try again.

Ceci est le cas lorsque la taille des données augmente car le GPU essaie maintenant d'être utilisé.

Les deux messages indiquent une installation de Theano incomplète. La première indique que vous n'avez pas configuré votre compilateur C++ correctement. La seconde indique que vous n'avez pas configuré CUDA correctement. Vous devez suivre les sections appropriées du installation documentation pour résoudre ces problèmes. Notez que simplement faire pip install Theano n'est pas suffisant lorsque vous voulez utiliser autre chose que les implémentations Python pur.

6
conda install mingw libpython 

Assurez-vous de l'avoir installé. Obtenez cette réponse d'un autre poste, https://stackoverflow.com/a/31109547/3598832, qui a indiqué dans le manuel.

+0

UnsatisfiableError: Les spécifications suivantes ont été trouvées en conflit: - mingw - python 3.5 * –

+0

J'utilise plutôt python 2.7. – user3598832