2017-04-26 62 views
0

我使用Python 2.7,Windows 7和Keras 1.2.1(Keras2似乎与不同的PC/Python配置有很多兼容性问题,所以我被推荐为使用1.2.1),我使用的是从实践深度学习的程序员,第1场的脚本 当试图实现Keras时遇到错误

import utils; reload(utils) 
from utils import plots 

我“M得到的错误是如下

Problem occurred during compilation with the command line below: "g++" -shared -g -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -m64 -DMS_WIN64 -I"c:\python27\lib\site-packages\numpy\core\include" -I"c:\python27\include" -I"c:\python27\lib\site-packages\theano\gof" -L"c:\python27\libs" -L"c:\python27" -o C:\Users\Moondra\AppData\Local\Theano\compiledir_Windows-7-6.1.7601-SP1-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-2.7.12-64\lazylinker_ext\lazylinker_ext.pyd C:\Users\Moondra\AppData\Local\Theano\compiledir_Windows-7-6.1.7601-SP1-Intel64_Family_6_Model_94_Stepping_3_GenuineIntel-2.7.12-64\lazylinker_ext\mod.cpp -lpython27

我可以” t解读这意味着什么应该有一个中文留言板。

它似乎是g ++的问题,因为我得到的以前的警告如下: WARNING (theano.configdefaults): g++ not available, if using conda: conda install m2w64-toolchain``。尽管之后安装了m2w64工具链,但我继续得到相同的警告。

+1

我不确定它是一样的问题,因为它似乎缺少一个实际的错误信息....但是,如果它是一个g ++的问题,你可能需要有visual studio已安装或兼容的C++编译器。 - 看到你需要的版本:https://wiki.python.org/moin/WindowsCompiles –

+0

是的,这是一个g + +的问题,因为我得到的以前的警告如下: '警告(theano.configdefaults):g + +不可用,如果使用conda:conda install m2w64-toolchain'。尽管之后安装了m2w64工具链,但我仍然收到相同的警告。所以我猜这是路径问题? – Moondra

+0

我已经安装了Microsoft Visual C++,因为我需要一些其他框架。 – Moondra

回答

0

我解决了这个问题。

我重新安装了Anaconda。 然后通过命令行我写了conda install m2w64-toolchain 这次我没有收到消息说明m2w64已经安装。我假设这是一个路径问题,这次重新安装一切从一开始也创建了一个新的路径?

+0

它解决了你的问题吗? –

+0

是的,我解决了这个问题。但我似乎无法解决这个问题。我必须再等两天。 – Moondra

+0

是不是只是检查你自己的答案是有效的? –

1

一些有趣的事情,而尝试配置theano和keras我了解到:

C++/G ++

  • 根据您的Python版本,您必须安装C的相应版本++编译器,或Visual Studio。例如:Python 2.7需要C++ 9.0(Visual Studio 2008)。但是Python 3.5需要C++ 14.0(Visual Studio的2015年) - 在这里看到更多:https://wiki.python.org/moin/WindowsCompilers

  • 我也只好装MinGW的为G ++编译器:https://nuwen.net/mingw.html

  • 即使它正确安装,您可能会看到一个关于hypot的错误。这个问题显示了两种可能的解决方案:g++ error on import of Theano on Windows 7

  • 我试着通过Conda安装所有东西,但是所有的计算都比大陆远离对方慢。然后我放弃了conda,并通过标准的python安装了所有东西。 (先是python,然后是numpy,然后是scipy,然后是theano,然后是keras)。不知道MinGW是在numpy/scipy之前出现的,但我认为它之前是这样。

BLAS/LAPACK

  • 与NumPy和theano可能会警告您没有LAPACK/BLAS安装。为此,我使用了这里的numpy和scipy库,它们非常快速:http://www.lfd.uci.edu/~gohlke/pythonlibs/

  • 另一种选择是在安装numpy和scipy之前直接从Intel安装MKL。

路径问题/无效令牌 - LDFLAGS

  • 避免安装任何东西,包括MKL,在名称中含有空格的文件夹!这肯定会混淆theano/numpy。

  • 如果文件夹中有空格,并且该错误中描述了ldflags var,那么您可能会收到“无效标记”错误。为了解决这个问题,或者在没有空格的文件夹中重新安装mkl库,或者使用[blas]配置和ldflags变种,在theano主文件夹中配置.theanorc文件。 (请看这里:Receive AssertionError while optimizing convolution in theano

  • 由于我不愿意在另一个文件夹中重新安装MKL,我学会了创建Windows的符号链接。 (在上面的答案)

  • 在theano配置与空间替换的文件夹,并在numpy的配置文件(__config__.py),你可以看到它与np.__config__.show()内容。 (见上面的答案)

+0

我使用Python 3.6(也安装了2.7),但我使用2.7版本的笔记本电脑,所以被迫适应。 Keras与我的3.6版本,所以我希望我没有遇到兼容性问题。我似乎已经安装了Visual Studio 2008。 – Moondra

+0

我建议你使用python 3.5来代替(我没有阅读keras/theano/tensorflow兼容的任何地方与3.6,但他们指定3.5)。对于python 3.5,你需要C++ 14.0(VS 2015)。 –

相关问题