首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试实现Keras时遇到错误。

尝试实现Keras时遇到错误。
EN

Stack Overflow用户
提问于 2017-04-26 16:14:16
回答 2查看 613关注 0票数 0

我正在使用Python2.7、Windows7和Keras1.2.1 (Keras2似乎与不同的PC/Python信任存在许多兼容性问题,因此我重新建议使用1.2.1),第1部分,我使用的是“实用深度学习”中的脚本

代码语言:javascript
复制
import utils; reload(utils)
from utils import plots

我所犯的错误如下

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

我无法解释这意味着什么。谷歌搜索带来了一个中文留言板。

这似乎是一个g++问题,因为我之前收到的警告如下:WARNING (theano.configdefaults): g++ not available, if using conda:conda安装m2w64-工具链。尽管之后安装了m2w64工具链,但我仍然收到同样的警告。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-26 17:37:11

我解决了问题。

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

票数 0
EN

Stack Overflow用户

发布于 2017-04-26 19:23:55

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

C++/g++

  • 根据您的python版本,您必须安装相应版本的C++编译器或Visual。例:Python2.7需要C++ 9.0 ( 2008)。但是Python3.5需要C++ 14.0 (Visual 2015) --更多信息见这里:https://wiki.python.org/moin/WindowsCompilers
  • 我还必须安装MinGW for g++编译器:https://nuwen.net/mingw.html
  • 即使正确安装了它,您也可能会看到有关hypot的错误。这个问题显示了两个可能的解决方案:g++ error on import of Theano on Windows 7
  • 我试着通过Conda安装所有的东西,但是所有的计算都比各大洲之间的移动要慢。然后我放弃了conda,通过标准python安装了所有的东西。(先是巨蟒,然后是矮胖,然后是喜鹊,然后是西亚诺,然后是角)。我不确定MinGW是否会出现在numpy/scipy之前,但我认为它会出现在前面。

BLAS/LAPACK

  • Numpy和theano可能会警告您,没有安装漏洞/blas。为此,我使用了这里可用的numpy和‘re库,它们非常好且快速:http://www.lfd.uci.edu/~gohlke/pythonlibs/
  • 另一种选择是直接从Intel安装MKL,然后再安装numpy和scipy。

路径问题/无效令牌-ldflags标志

  • 避免在包含名字空格的文件夹中安装任何东西,包括MKL!这肯定会让theano/numpy感到困惑。
  • 如果文件夹中有空格,并且在该错误中描述了一个ldflags变量,则可能会出现“无效令牌”错误。要解决这个问题,可以在没有空格的文件夹中重新安装mkl库,或者使用[blas]配置和ldflags var在theano主文件夹中配置ldflags文件。(见此处:Receive AssertionError while optimizing convolution in theano)
  • 由于我不愿意在另一个文件夹中重新安装MKL,所以我学会了创建指向windows的符号链接。(在上面的答复中)
  • 将文件夹替换为theano配置中的空格以及numpy配置文件(__config__.py)中的文件夹,您可以用np.__config__.show()查看其内容。(见上文答复)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43639549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档