【发布时间】: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