之前用的时候有问题,今天解决了记录一下。
注:
1)编译环境:MATLAB 2016b + VS 2017
2)参考:在MATLAB中安装“MATCONVNET”中遇到的问题和解决方法:“NO SUPPORTED COMPILER OR SDK WAS FOUND.”
下载
- 没什么好说的,选个好地方,下载解压就行。
- 指路:MatConvNet: CNNs for MATLAB。
编译
- 官方教程:Installing and compiling the library。
- 编译器建议VS,不要使用MING-W64,不然会有很多问题,巨麻烦。但是,一定要注意,MATLAB版本要高于VS。如果不是的话,不要担心,下面有解决办法。
- 首先下载高版本VS对应的配置文件,我的配置的话,就下载msv2017.xml和msvcpp2017.xml,放到你自己的matlab的bin\win64\mexopts里面;
- 然后把VS的VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64中的cl.exe复制到自己解压的matconvnet-1.0-beta25中;
- 把VS的路径添加到系统变量的PATH中,参考最上面说到的链接,之前添加过的忽略;
- 重启MATLAB;
- 执行
mex -setup
; - 执行自己对应VS版本的配置文件,在matlab命令行输入
mex -setup:'<自己的MATLAB路径>\matlab\bin\win64\mexopts\msvcpp2017.xml'
; - 进入matconvnet-1.0-beta25所在文件夹,执行
addpath matlab
,然后执行vl_compilenn
。
运行
- 执行
run <自己的MatConvNet路径>/matlab/vl_setupnn
,如果上一步vl_compilenn
执行完也可以直接运行vl_setupnn
,就可以进行测试了,最后会出现下面的结果。
PS:
感想就是,教程不一而足,会走很多弯路,但是达到目标后满足感会更充足,另外就是,官方教程好好读啊喂,都说了用VS,没让用MING-W64就找事。(不过英文谁能好好看进去啊···)