windows系统上配置OpenBlas
最近使用Keras做CNN,遇到了一些问题,错误信息如下:
AssertionError: AbstractConv2d Theano optimizationfailed: there is no implementation available supporting the requested options.Did you exclude both "conv_dnn" and "conv_gemm" from theoptimizer? If on GPU, is cuDNN available and does the GPU support it? If onCPU, do you have a BLAS library installed Theano can link against?
需要配置OplenBlas才能运行。下面是个人配置OpenBlas的一些总结。
1. 安装theano,可以参考这个博客:http://blog.sina.com.cn/s/blog_96b836170102vq22.html
2. 安装keras,这个比较简单,下载安装Keras,下载地址:https://github.com/fchollet/keras
解压Keras,在命令行界面进入到Keras目录下,执行安装命令:python setup.py install
3. 安装OpenBlas
第一步要编译OpenBlas,网上也可以直接下载编译好的OpenBlas,这样就不用自己编译了。
(1)直接下载编译好的OpenBlas: https://sourceforge.net/projects/openblas/files/v0.2.8/
(2)如果要在window上自己编译OpenBlas,可以参考这个教程:
http://www.avrahamadler.com/2013/10/24/an-openblas-based-rblas-for-windows-64-step-by-step/
主要步骤如下:
a) 下载OpenBlas :https://sourceforge.net/projects/openblas/files/
b) 下载并安装mingw64
c) 下载msys:
https://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/
这个也很重要,要把下载的这个msys 文件夹放到安装好的MinGW目录下,如下图:
d) 打开msys文件夹打开msys.bat,会出现MinGW的命令行界面,然后进入到OpenBlas所在的文件夹,输入make命令就可以编译了。
e) 编译成功后,生成如下结构的目录,bin文件夹里就是需要的libopenblas.dll
(3)把OpenBlas的libopenblas.dll所在的文件夹C:\OPenBLAS\bin加入到系统环境变量Path里。
这一步千万不要忘了,否则会有DLL load failed的错误。
4. 最后就是配置OpenBLAS,在配置文件.theanorc.txt里配置:
[blas]
ldflags = -LC:\\OpenBLAS\\bin –lopenblas
如果还是报错的话,可能是系统没有正确加载配置文件,可以试试在程序里进行配置:
theano.config.blas.ldflags='-LC:\\OpenBLAS\\bin-lopenblas'
参考资料:
Theano安装:http://deeplearning.net/software/theano/install_windows.html
Theano安装:http://blog.sina.com.cn/s/blog_96b836170102vq22.html
mingw下载:https://sourceforge.net/projects/mingw/
MinGW mysys:https://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/
编译好的OpenBlas:https://sourceforge.net/projects/openblas/files/v0.2.8/
Installation-Guide: https://github.com/xianyi/OpenBLAS/wiki/Installation-Guide
编译OpenBlas:
http://www.avrahamadler.com/2013/10/24/an-openblas-based-rblas-for-windows-64-step-by-step/
OpenBlas下载:https://sourceforge.net/projects/openblas/files/