配置 MatConvNet
官网的安装配置指南链接:http://www.vlfeat.org/matconvnet/install/
配置的目的是: 将 MatConvNet 和 自己写的程序融合,使用框架应为:
CPU版编译
在 matlab 命令行输入
% 这个命令是来寻找vs编译器的
mex -setup
%设置matlab的C++编译器,根据提示信息, 选择VS C++
mex -setup C++
操作如图:
使用 mex -setup 命令的原因是,MatConvNet 文件中的matlab文件夹下的src文件里的.cu文件,所以需要链接c++编译器
在 matlab 命令行 输入
% cd到解压的matconvnet目录下
% 将matlab工作路径切换到matconvnet所在文件夹,添加搜索路径
addpath matlab
% 运行程序(该程序具体位置在matlab下),生成mex文件夹(编译过程)
vl_compilenn
编译成功的结果图如下:
测试
matlab中输入如下指令:
run matlab\vl_setupnn
vl_testnn
测试成功图如下:
到此为止,matconvnet的CPU编译过程完成。
期间遇到的问题
1、在运行vl_compilenn的时候,提示错误:CL.EXE not found in PATH
解决方法:在安装目录找到cl.exe文件位置,
例如:C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.12.25827\bin\Hostx64\x64
将该路径添加至计算机系统环境变量path中即可。如下图所示。
2、安装的时候一定是matlab的版本比visual studio的 版本高,否则安装会失败(原因是找不到Microsoft Visual C++ 编译器),因为visual studio的版本的太高的话,matlab可能不支持,具体对应版本的matlab最高支持的visual studio版本可以通过如下方式查看:
可看到matlab2019a最高支持的版本是visual studio 2017。
3、运行vl_compilenn出现错误:Error using mex gcc: error: gdiplus.lib: No such file or directory
在解决这个错误之前,自己本身有两个编译器一个微软的visual C++,一个是MinGW64,后面经过查证,虽然matlab极力推荐使用MinGW64,但是真正使用的时候却无法工作,最后的解决方式是卸载原有的MinGW64编译器,只剩下微软的visual C++,最后再运行vl_compilenn就没有问题了。
GPU编译待续......
来源:CSDN
作者:qq_33590958
链接:https://blog.csdn.net/qq_33590958/article/details/103563451