Kompilierungsfehler beim Ausführen von theano - windows 8.1 64 bit mit Anaconda python distribution

8

Ich betreibe Lasagne / Nolearn, die Theano verwendet.

Es war besonders schwierig, denano zu installieren und zu kompilieren. Der folgende Kompilierungsfehler tritt auf, nachdem ein 64-Bit-g ++ - Compiler installiert wurde.

Hilfe wird sehr geschätzt. Danke!

Problem trat während der Kompilierung mit der folgenden Befehlszeile auf:

%Vor%     
Alejandro Simkievich 01.05.2015, 21:27
quelle

2 Antworten

5

Ich habe das Problem gefunden und möchte die Lösung posten. Dieses spezielle Problem wurde verursacht, weil die Datei libpythonxx.a Datei in demselben Verzeichnis fehlte, in dem Sie die pythonxx.dll Datei finden (in meinem Fall python27.dll und so habe ich die libpython27.a Datei erstellt.)

Eine edle Seele hat alle notwendigen Schritte zur Installation von theano in Ссылка (auf Koreanisch und Englisch) gepostet ). Um eine solche Datei zu generieren, kopieren Sie die Datei pythonxx.dll in ein temporäres Verzeichnis und geben Sie die folgenden Befehle in die Windows-Konsole ein:

gendef pythonXX.dll

dlltool --as-flags = - 64 -m i386: x86-64 -k --output-lib libpythonXX.a --input-def pythonXX.def

Dann fügen Sie die generierte Datei libpythonxx.a in das gleiche Verzeichnis wie die Datei pythonxx.dll ein.

In Windows finden Sie diese Datei normalerweise unter C: \ Windows \ System3, aber wenn Sie Anaconda verwenden, wie ich bin, finden Sie es unter?

C: \ Benutzer \ xxxxx \ Anaconda \ libs, wobei xxxxx Ihr Benutzer ist.

    
Alejandro Simkievich 03.05.2015, 20:52
quelle
1

Für diejenigen, die WinPython und mingw verwenden, hier einige zusätzliche Informationen:

1) Versuchen Sie nicht einmal, das mingw32-Paket zu versuchen, wenn Sie ein 64-Bit-Windows verwenden, gehen Sie sofort zu mingw64. Das stoppt den oben angezeigten Fehler von

2) Für WinPython darf die Datei .theanorc oder .theanorc.txt nicht in Ihrem Home-Verzeichnis, sondern im Verzeichnis WinPython / settings sein!

3) Vereinfachen Sie die Dinge, indem Sie Pfadtrennzeichen im Linux-Stil verwenden, z. B. für das Flag g ++ Cxx = d: / dev / mingw-w64 / mingw64 / bin / g ++. exe

4) nvcc benötigt den Windows-Pfad, um die cl.exe-Datei zu enthalten, die im Allgemeinen in Ihrer VS-Installation unter etwas wie (VSPATH) / VC / bin

gefunden werden kann

Grüße, G.

    
gilgamash 04.02.2016 11:21
quelle

Tags und Links