2015-11-12 6 views
10

Ich habe diese Nachricht Keras in Verwendung einen RNN für Sprachmodell mit einem großen 3D-Tensor zu trainieren (aus einem Text erzeugt, ein heißen codiert und führe eine Form von (165.717, 25, 7631)):"g ++ nicht erkannt", während der Datensatz größer wird, gibt es eine Grenze für die Matrixgröße in 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. 

Aber alles geht gut, während ich die Größe des Datensatzes in kleine begrenzen. Daher frage ich mich, ob Theano oder CUDA die Größe der Matrix begrenzen?

Außerdem, habe ich eine bessere Möglichkeit, eine heiße Darstellung zu machen? Ich meine, im großen 3D-Tensor sind die meisten Elemente aufgrund der One-Hot-Darstellung 0. Ich habe jedoch keine Ebene gefunden, die eine Indexdarstellung von Wörtern akzeptiert.

+0

Es sieht aus wie eine ziemlich klare Fehlermeldung an mich und es hat nichts mit CUDA zu tun. Ihre theano-Konfiguration ist nicht korrekt und Host- oder GPU-Compiler können nicht gefunden werden. Repariere es und das Problem verschwindet – talonmies

+0

@talonmies Ich habe mich nicht klar gemacht. Mein Code funktioniert ziemlich gut mit einem kleinen Datensatz (nur zum Debuggen meines Codes), ein solcher Fehler tritt nur bei einem großen Datensatz auf. – nanoix9

+0

Ja, aber die Fehlermeldung zeigt auch, warum das auch passiert. Bei kleinen Größen sind reine Python-Implementierungen verwendet, da es bei dem Versuch, die GPU – talonmies

Antwort

3

Ihre Theano-Installation ist nicht vollständig.

Es gibt zwei in der eingefügten Ergebnis genannten Probleme Frage:

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.

Ich vermute, Sie sehen diese eine auch bei kleinen Datengrößen, aber es ist eine Warnung so Dinge laufen weiter erfolgreich (die reine Python-Implementierung unter Verwendung von automatisch).

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

Dies ist derjenige, der bei der Datengröße erhöht geschieht, weil jetzt die GPU verwendet werden versucht.

Beide Meldungen weisen auf eine unvollständige Theano-Installation hin. Der erste gibt an, dass Sie Ihren C++ - Compiler nicht richtig eingerichtet haben. Die zweite zeigt an, dass Sie CUDA nicht ordnungsgemäß eingerichtet haben. Sie müssen den entsprechenden Abschnitten der installation documentation folgen, um diese Probleme zu beheben. Beachten Sie, dass das einfache Ausführen von pip install Theano nicht ausreicht, wenn Sie etwas anderes als die reinen Python-Implementierungen verwenden möchten.

6
conda install mingw libpython 

Stellen Sie sicher, dass dies installiert ist. Bekommen Sie diese Antwort von einem anderen Posten, https://stackoverflow.com/a/31109547/3598832, der vom Handbuch angezeigt wurde.

+0

UnsatisfiableError verwenden keinen Performance-Vorteil ist: Die folgenden Angaben wurden gefunden in Konflikt zu sein: - mingw - Python 3.5 * –

+0

ich Python verwenden 2.7 statt. – user3598832