编译失败时运行theano – Windows 8.1 64位与pythonpython分布

我运行烤宽面条/ nolearn,使用theano。

安装和编译theano特别困难。 安装64位g ++编译器后发生以下编译错误。

非常感谢帮助。 谢谢!

使用以下命令行进行编译时出现问题:

C:\MinGW\bin\g++.exe -shared -g -march=corei7-avx -mcx16 -msahf -mmovbe -maes -mpclmul -mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop -mbmi -mbmi2 -mno-tbm -mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-hle -mrdrnd -mf16c -mfsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt --param l1-cache-size=0 --param l1-cache-line-size=0 --param l2-cache-size=256 -mtune=generic -D NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -m64 -DMS_WIN64 -IC:\Users\aleja_000\Anaconda\lib\site-packages\numpy\core\include -IC:\Users\aleja_000\Anaconda\include -o C:\Users\aleja_000\AppData\Local\Theano\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-2.7.9-64\lazylinker_ext\lazylinker_ext.pyd C:\Users\aleja_000\AppData\Local\Theano\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-2.7.9-64\lazylinker_ext\mod.cpp -LC:\Users\aleja_000\Anaconda\libs -LC:\Users\aleja_000\Anaconda -lpython27 Traceback (most recent call last): File "C:\Users\aleja_000\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 3032, in run_code =============================== C:\Users\aleja_000\AppData\Local\Theano\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-2.7.9-64\lazylinker_ext\mod.cpp:1:0: sorry, unimplemented: 64-bit mode not compiled in #include <Python.h> ^ exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-2-1e86b04c8a9c>", line 6, in <module> from lasagne.layers import DenseLayer File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "c:\users\aleja_000\anaconda\src\lasagne\lasagne\__init__.py", line 5, in <module> from . import nonlinearities File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "c:\users\aleja_000\anaconda\src\lasagne\lasagne\nonlinearities.py", line 6, in <module> from theano.tensor.nnet import sigmoid File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "C:\Users\aleja_000\AppData\Roaming\Python\Python27\site-packages\theano\__init__.py", line 55, in <module> from theano.compile import ( File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "C:\Users\aleja_000\AppData\Roaming\Python\Python27\site-packages\theano\compile\__init__.py", line 9, in <module> from theano.compile.function_module import * File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "C:\Users\aleja_000\AppData\Roaming\Python\Python27\site-packages\theano\compile\function_module.py", line 17, in <module> import theano.compile.mode File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "C:\Users\aleja_000\AppData\Roaming\Python\Python27\site-packages\theano\compile\mode.py", line 11, in <module> import theano.gof.vm File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "C:\Users\aleja_000\AppData\Roaming\Python\Python27\site-packages\theano\gof\vm.py", line 654, in <module> import lazylinker_c File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "C:\Users\aleja_000\AppData\Roaming\Python\Python27\site-packages\theano\gof\lazylinker_c.py", line 125, in <module> preargs=args) File "C:\Users\aleja_000\AppData\Roaming\Python\Python27\site-packages\theano\gof\cmodule.py", line 2042, in compile_str (status, compile_stderr.replace('\n', '. '))) Exception: Compilation failed (return status=1): C:\Users\aleja_000\AppData\Local\Theano\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-2.7.9-64\lazylinker_ext\mod.cpp:1:0: sorry, unimplemented: 64-bit mode not compiled in . #include <Python.h> . ^ . 

我发现问题是什么,并希望发布解决方案。 这个问题是由于文件libpythonxx.a文件在找到pythonxx.dll文件的同一个目录中丢失(在我的例子中是python27.dll,因此我创建了libpython27.a文件)。

高贵的灵魂在http://rosinality.ncity.net/doku.php?id=python:installing_theano (朝鲜语和英语)上贴出了安装theano所需的所有步骤。 要生成这样的文件,请将pythonxx.dll文件复制到临时目录,然后在Windows控制台中键入以下命令:

gendef pythonXX.dll

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

然后将生成的libpythonxx.a文件粘贴到与pythonxx.dll文件相同的目录中。

在Windows中,您通常会在C:\ Windows \ System3下找到该文件,但是如果您正在使用anaconda,您会在下面找到它?

C:\ Users \ xxxxx \ Anaconda \ libs,xxxxx是您的用户。

对于那些使用WinPython和mingw,这里有一些额外的信息:

1)在使用64位Windows时,甚至不要打扰使用mingw32软件包,请立即使用mingw64。 这阻止了上面显示的错误发生

2)对于WinPython,.theanorc或.theanorc.txt文件不能在您的主目录中,而是在WinPython / settings目录中!

3)通过使用linux风格的路径分隔符,如g ++标志,cxx = d:/ dev / mingw-w64 / mingw64 / bin / g ++。exe

4)nvcc需要windows的路径才能包含cl.exe文件,通常可以在你的VS下安装(VSPATH)/ VC / bin

问候,G.