Matconvnet在windows8下编译过程
Matconvnet现在已经发行到1.0beta18版本,而之前一些训练好的网络使用的是1.0beta10或者更低,这使得已经训练好的网络由于参数和属性名称不同而无法在不同版本间共用,因此我编译了beta18和beta10两个版本的matconvnet。这里记录matconvnet工具箱在matlab的安装过程:(安装官方网址:http://www.vlfeat.org/matconvnet/install/)
1、 下载工具箱,解压,将matlab转到matconvnet目录下
2、 编译工具箱:
2.1 首先编译cpu版本
>cd <MatConvNet>
>addpath matlab
>vl_compilenn
2.2 当编译不通过时,为了获得更多信息可以用一下语句
>vl_compilenn('verbose',1)
Increasethe verbosity level to 2 to get even more information.
2.3 编译gpu版本
当安装的matlab版本和cuda版本对应的时候:(如下)
用matlab直接编译:
>vl_compilenn('enableGpu',true)
如果安装有多个版本的cuda,n那么需要指定cudaroot
>vl_compilenn('enableGpu',true,'cudaRoot', '/Developer/NVIDIA/CUDA-7.0')
如果安装的cuda版本,那么需要用nvcc编译
> vl_compilenn('enableGpu', true, ... 'cudaRoot', '/Developer/NVIDIA/CUDA-7.0', ... 'cudaMethod', 'nvcc')
这里cudaroot需要改成自己的cudaroot地址。
这里编译时可能会遇到
Nvcc fatal error:couldn’t find c1.exe(还是cl.exe)来着;c1.exe是vs的c编译器,所以可以在整个盘中找到其位置,addpath即可。另外c1.exe有4个版本,可能对应32位和64位的,都试验一下能不能编译。
3、 测试使用
>run <MatConvNet>/matlab/vl_setupnn
>vl_testnn
>vl_testnn('gpu',true)%测试gpu