【问题标题】:Theano CNN on CPU: AbstractConv2d Theano optimization failedCPU 上的 Theano CNN:AbstractConv2d Theano 优化失败
【发布时间】:2016-08-26 04:32:39
【问题描述】:

我正在尝试使用 CIFAR10 数据集为我大学的一个研讨会训练一个 CNN 对图像进行对象检测,但我收到以下错误:

AssertionError: AbstractConv2d Theano 优化失败:没有 可用的实施支持所请求的选项。你是否 从优化器中排除“conv_dnn”和“conv_gemm”?如果在 GPU 上, cuDNN 是否可用,GPU 是否支持它?如果在 CPU 上,你有 安装了 Theano 的 BLAS 库可以链接吗?

我正在 Windows 10 机器上的 Jupyter 笔记本(CPU 上的 CNN 训练)中运行 Anaconda 2.7。由于我已经使用 git clone 更新到最新的 theano 版本,所以我尝试了以下操作:

  • 直接从代码THEANO_FLAGS='optimizer_excluding=conv_dnn, optimizer_excluding=conv_gemm' 中排除 dnn 和 gemm
  • 直接从 cmd 中排除 dnn 和 gemm,键入 THEANO_FLAGS='...' python <myscript>.py 不出所料地给出“未知命令”错误。
  • 从我放入 C:/user/myusername 的 .theanorc.txt 中排除 dnn 和 gemm

不幸的是,我仍然收到同样的错误,当我调用 print(teano.config) 时,术语“conv_dnn”和“conv_gemm”没有出现。

  • 此外,我试图找出我的 numpy 包正在使用什么 BLAS(通常适用于该包),以及该包是否是静态的,使用来自 dependencywalker.com 的工具但我失败了

所以这是我的问题:到底如何才能正确设置 theano 标志以及如何检查是否成功?如果这没有帮助,我该如何检查我正在构建的 BLAS?我应该使用哪一个以及如何更改 theano 的依赖关系?

正如您可能已经猜到的那样,当涉及到所有这些包、依赖项、构建和其他花哨的计算机科学内容时,我并不是专家,而且我发现的文档只是不是菜鸟证明,所以我将非常感谢你们可以帮帮我!

最好的

乔纳斯

【问题讨论】:

  • 我最终决定在 matlab 中切换到 matconvnet,这样更容易启动和运行!所以我无法验证你的答案,但非常感谢!

标签: python neural-network cpu theano blas


【解决方案1】:

在 .theanorc 文件中添加一行

optimizer = None

作为全局配置。

【讨论】:

    【解决方案2】:

    我在 Windows 上收到了相同的错误消息。我位于“C:\Users\USERNAME\.theanorc.txt”中的“.theanorc.txt”文件格式错误,Theano 找不到 Blas 库。这可以通过编写“import theano; theano.config.blas.ldflags”在 Python 控制台中看到,它给出了空白字符串 ('')。 blas-keyword 必须作为节标题。

    [global]
    floatX = float32
    device = cpu
    
    [blas]
    ldflags = -LC:\\openblas -lopenblas
    

    C:\openblass 路径中,我有文件:libgcc_s_seh-1.dlllibgfortran-3.dlllibopenblas .dlllibquadmath-0.dll。 参考http://deeplearning.net/software/theano/library/config.html

    【讨论】:

      【解决方案3】:

      我有同样的问题,但在 Linux 下。原来BLAS根本没有安装,只好单独安装,包括设置一些新的环境变量:

      export LD_LIBRARY_PATH="/home/username/anaconda2/lib"
      export LD_PRELOAD="/home/username/anaconda2/lib/libmkl_core.so:/home/MEDIANET/aharjunm/anaconda2/lib/libmkl_sequential.so"
      

      我还必须确保 anaconda 和任何以前的 python 安装之间没有冲突的 python 路径。

      我知道在 Windows 下会有很大的不同,但是因为错误信息是完全一样的,所以治愈的基本前提也应该是一样的:安装 BLAS。你可以找到大量的资源,例如here

      【讨论】:

        猜你喜欢
        • 2017-01-28
        • 2016-01-07
        • 1970-01-01
        • 1970-01-01
        • 2016-05-23
        • 2016-02-24
        • 2017-03-22
        • 2016-07-06
        • 1970-01-01
        相关资源
        最近更新 更多