Python 2.7 尝试实现Keras时遇到错误

Python 2.7 尝试实现Keras时遇到错误,python-2.7,keras,Python 2.7,Keras,我使用的是Python 2.7、Windows 7和Keras 1.2.1 Keras2,它似乎与不同的PC/Python配置存在很多兼容性问题,因此建议我使用1.2.1 我正在使用《程序员实践深度学习》第1部分课程中的脚本 import utils; reload(utils) from utils import plots 我得到的错误如下 使用下面的命令行编译时出现问题: g++-shared-g-DNPY\u NO\u已弃用\u API=NPY\u 1\u 7\u API\u VERS

我使用的是Python 2.7、Windows 7和Keras 1.2.1 Keras2,它似乎与不同的PC/Python配置存在很多兼容性问题,因此建议我使用1.2.1 我正在使用《程序员实践深度学习》第1部分课程中的脚本

import utils; reload(utils)
from utils import plots
我得到的错误如下

使用下面的命令行编译时出现问题: g++-shared-g-DNPY\u NO\u已弃用\u API=NPY\u 1\u 7\u API\u VERSION-m64-DMS\u WIN64-Ic:\python27\lib\site packages\numpy\core\include-Ic:\python27\include-Ic:\python27\lib\site packages\theano\gof-Lc:\python27-oC:\Users\Moondra\AppData\Local\Theano\lazylinker\uExt.pyd C:\Users\Moondra\AppData\Local\Theano\compiledir\uWindows-7-6.1.7601-SP1-Intel64\uFamily\u6\u94\u94-GenuineIntel-2.7.12-64\lazylinker\uExt\lazylinker\uExt.pyd

我无法理解这是什么意思。谷歌搜索推出了一个中文留言板

这似乎是一个g++问题,因为我之前收到的警告如下: 警告theano.configdefaults:g++不可用,如果使用conda:conda安装m2w64工具链``。尽管后来安装了m2w64工具链,我还是继续收到同样的警告

我解决了这个问题

我重新安装了水蟒。 然后通过命令行,我编写了conda install m2w64工具链
这一次,我没有收到消息说m2w64已经安装。我假设这是一个路径问题,这次从一开始重新安装所有东西也创建了一个新的路径

在尝试配置theano和keras时,我学到了一些有趣的东西:

C++/g++

根据Python版本,必须安装相应的C++编译器版本,或者VisualStudio。Python 2.7需要C++ 9 Visual Studio 2008。但是Python 3.5需要C++ 14 Visual Studio 2015——请参阅更多:

我还必须安装MinGW for g++编译器:

即使安装正确,您也可能会看到有关hypot的错误。此问题显示了两种可能的解决方案:

我试着通过康达安装所有东西,但所有的计算都比大陆之间的移动要慢。然后我放弃了conda,通过标准python安装了所有东西。首先是python,然后是numpy,然后是scipy,然后是theano,然后是keras。不确定MinGW是在numpy/scipy之前还是之后,但我认为它是在numpy/scipy之前

布拉斯/拉帕克

Numpy和theano可能会警告您未安装lapack/blas。为此,我使用了这里提供的numpy和scipy库,它们非常棒,速度也很快:

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

路径问题/无效令牌-ldflags

避免在名称中包含空格的文件夹中安装任何东西,包括MKL!这肯定会把theano/numpy搞糊涂

如果文件夹中有空格,并且该错误中描述了ldflags变量,则可能会出现无效令牌错误。要解决此问题,请在没有空格的文件夹中重新安装mkl库,或使用[blas]配置和ldflags变量在theano主文件夹中配置.theanoc文件。请参见此处:

因为我不愿意在另一个文件夹中重新安装MKL,所以我学会了创建指向windows的符号链接。在上面的答案中

在theano配置文件和numpy配置文件中,用空格替换文件夹。在numpy配置文件中,您可以用np.\uuuuuu config\uuuuuuuu.show查看其内容。见上面的答案


我不确定这是否是同一个问题,因为它似乎缺少实际的错误消息。。。。但是,如果是G++问题,您可能需要安装VisualStudio,或者兼容C++编译器。请参见此处了解您需要的版本:是的,这是一个g++问题,因为我之前收到的警告如下:警告theano.configdefaults:g++不可用,如果使用conda:conda安装m2w64工具链。尽管后来安装了m2w64工具链,我还是收到了同样的警告。所以我猜这是路径问题?我已经安装了微软VisualC++,因为我需要它用于其他框架。你需要编译器的特定版本。对于Python 2.7,您需要C++ V90,它与Visual Studio 2008匹配,是您拥有的版本吗?是的,我解决了这个问题。但我似乎无法回答这个问题;我还得再等两天。难道不只是检查一下你自己的答案是否有效吗?我收到了一条消息,你可以在两天内接受你自己的答案,这条消息阻止了我我使用的是Python3.6,也安装了2.7,但我正在学习的笔记本电脑使用的是2.7版,因此不得不进行调整。我计划在我的3.6版本中安装Keras,所以我希望不会遇到兼容性问题。我似乎已经安装了Visual Studio 2008。我建议您使用python 3.5,而我还没有读到keras/theano/tensorflow与3.6兼容的任何地方,但它们确实指定了3.5。对于Python3.5,您将 我需要C++ 14和2015。