参考博客:SPAMS稀疏建模工具箱,特此感谢!
这里是spams工具箱下载地址,一定要选择合适的版本,而不是非带是最新的
- 首先,我的系统是win10 64位+MATLAB2016b+VS2017专业版C++环境+spams2.5版本,如果缺少MATLAB支持的VS2017C++编译器文件,去这里下载:
链接:https://pan.baidu.com/s/1zbKPNnEjmQI7iCDSdlAGdw
提取码:u882
其他VS版本的matlab支持的C++文件,去看博客:Matlab配置C++/VS2015等编译环境(mex -setup 找不到编译器问题解决)
将下载的文件放到MATLAB安装目录对应文件夹,我的是:E:\software\Matlab\bin\win64\mexopts
- 然后,按照前面博客里面说的,对compile.m文件做相应修改;
我的配置如下:
compiler='mex';
blas='builtin';
use_multithread=false;
use_64bits_integers=true;
use_mkl_threads=false;
path_matlab='';
%path_matlab='/softs/bin/';
这里,重点说明一下:我之前安装的是SPAMS2.6版本的,运行compile.m时出现了和博主相同的情况,后来换成SPAMS2.5版本以后成功运行了,没有问题。
3. 运行完后,将build文件夹中的.m文件删除。(我只保留了有代码的这几个文件)
4. 然后运行start_spams.m 和 get_architecture.m两个文件
5. 最后重点是运行test_release文件夹下的文件,我之前运行时,总是出现:test mexSOMP
Attempt to execute SCRIPT mexSOMP as a function:
E:\software\Matlab\toolbox\spams-matlab-v2.6\src_release\mexSOMP.m
诸如此类的问题,很大原因是你的spams工具箱直接放到了MATLAB安装目录下的toolbox文件夹下了,我换了路径,放到了D盘下以后,测试了 test_TrainDL.m文件,结果成功了:
总结:去年我安装这个工具箱的时候,到第五步就卡住了,现在终于解决这个问题了,重点是spams工具箱的版本以及安装的路径,选择适合你的系统的版本(可以多安装几个版本试试,看哪一个没有问题)以及不要放在MATLAB的toolbox下。