2016-07-22 18 views
6

Ich versuche, mit einer ordnungsgemäßen g ++ Installation nach the theano installation guide zu installieren. Ich hatte früher theano mit der Python-Nur-Implementierung arbeiten. Ich benutze die neueste Version von Theano aus ihrem Git Repo auf Python 3.4. Ich habe versucht, die von theano vorgeschlagene TDM-GCC-64-Methode sowie MinGW zu verwenden, und beide ergeben genau den gleichen Fehler. (So ​​lesbar wie möglich kopiert)g ++ Fehler beim Import von Theano unter Windows 7

Problem occurred during compilation with the command line below: 
C:\MinGW\bin\g++.exe -shared -g -march=skylake -mmmx -mno-3dnow -msse -msse2 -msse3 
-mssse3 -mno-sse4a -mcx16 -msahf -mmovbe -maes -mno-sha -mpclmul -mpopcnt 
-mabm -mno-lwp -mfma -mno-fma4 -mno-xop -mbmi -mbmi2 -mno-tbm -mavx 
-mavx2 -msse4.2 -msse4.1 -mlzcnt -mrtm -mhle -mrdrnd -mf16c -mfsgsbase 
-mrdseed -mprfchw -madx -mfxsr -mxsave -mxsaveopt -mno-avx512f 
-mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mclflushopt 
-mxsavec -mxsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl 
-mno-avx512ifma -mno-avx512vbmi -mno-clwb -mno-pcommit -mno-mwaitx 
-mno-clzero -mno-pku --param l1-cache-size=32 --param 
l1-cache-line-size=64 --param l2-cache-size=8192 -mtune=skylake 
-DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -m64 -DMS_WIN64 
-IC:\Python34_64bit\lib\site-packages\numpy\core\include 
IC:\Python34_64bit\include -IC:\Python34_64bit\lib\site-packages\theano\gof 
-o C:\Users\Jwely\AppData\Local\Theano\compiledir_Windows-7-6.1.7601-SP1-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-3.4.4-64\lazylinker_ext\lazylinker_ext.pyd 
C:\Users\Jwely\AppData\Local\Theano\compiledir_Windows-7-6.1.7601-SP1-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-3.4.4-64\lazylinker_ext\mod.cpp 
-LC:\Python34_64bit\libs -LC:\Python34_64bit -lpython34 


In file included from c:\mingw\include\c++\6.1.0\math.h:36:0, 
from C:\Python34_64bit\include/pyport.h:328, 
from C:\Python34_64bit\include/Python.h:50, 
from C:\Users\Jwely\AppData\Local\Theano\compiledir_Windows-7-6.1.7601-SP1-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-3.4.4-64\lazylinker_ext\mod.cpp:1: 
c:\mingw\include\c++\6.1.0\cmath:1133:11: error: '::hypot' has not been declared 
    using ::hypot; 
      ^~~~~ 

Es kann sich lohnen, darauf hingewiesen, dass, bevor er diesen Fehler druckt, druckt es eine ganze Datei im Wert von Code, können Sie den gesamten Fehlerausgabe finden hier

Ich bin Ich bin mir nicht sicher, was ich als nächstes versuchen soll, ich habe die Anweisungen zweimal befolgt, einige Installationsmethoden für einige Abhängigkeiten verwendet und dafür gesorgt, dass ich meinen Systempfad zwischen jedem Versuch und jedem Neustart bereinigt habe.

Antwort

26

Das ist für mich gearbeitet:

  1. Gehen Sie zu Ihrem Benutzerordner: C:/Benutzer/[Benutzername]
  2. erstellen .theanorc Datei, wenn es bereits existiert nicht
  3. stellt sicher, dass es die Linien enthält:

     
    [gcc] 
    cxxflags = -D_hypot=hypot 
    
+1

Ich weiß nicht, warum das so ausgefallen ist, großartige Lösung, es sei denn, ich verpasse etwas. – FatalMojo

+0

Danke! Lief wie am Schnürchen! – hnzjo

+0

Wie soll ich eine Datei ohne Namen erstellen? Windows erlaubt es mir nicht. –

0

Das ist für mich

  1. Zum System properties/Advance system setting
  2. arbeitete

    Fügen Sie Ihren MinGW-Installationspfad hinzu, wenn dieser bereits hinzugefügt wurde und ungefähr wie C:\{your MingW installation}\bin aussieht ändere es zu
0

Die Antworten oben sind wahrscheinlich eine bessere, dauerhaftere Lösung. Für eine schnelle Lösung, die für mich gearbeitet folgende:

import theano 
theano.config.gcc.cxxflags = "-D_hypot=hypot" 

... mit 10 Windows Anaconda 4.4, Python 2.7, Theano v0.10.0.dev1, m2w64-Toolchain v5.3.0

0

Erstens deinstallieren Sie alle Theano-Versionen.

Dann:

pip install pydot-ng 

conda install mingw libpython 

pip install git+https://github.com/Theano/Theano.git#egg=Theano