MATLAB下载libsvm,以及对应MinGW-w64版本下载(亲测有效)
最近在学习SVM,在matlab上安装和使用Libsvm的过程中遇到了好多问题,在网上查看了许多资料,踩了许多坑。
整理一下供大家分享,希望能节省大家在安装过程中的时间。
一、libsvm 下载
注意:如果在安装MATLAB软件的时候,已经下载过libsvm的包,这一步请省略。如果确认自己是否已经安装过?
本人用的是windows 10-64bits, Matlab 2018a,下载版本为Libsvm 3.24(在MATLAB的安装路径下查找)
如果能找到这几个文件,那么就不用安装libsvm的包,否则,请按照下面的步骤安装
libsvm的下载地址:https://www.csie.ntu.edu.tw/~cjlin/libsvm/。(链接下滑)
下载,并将zip文件解压到matlab/toolbox/
二、MinGW-w64下载
注意:如果你的电脑上已经下载过C/C++的编译器,就不需要下载MinGW-w64,那么如果查看呐?
打开MATLAB,在MATLAB命令行中输入mex -setup -v ,可以查看一下电脑中有啥编译器
我的电脑刚刚下载了MinGW64编译器,鼠标点击mex -setup C++,就会显示我配置了C++的编译器
如果你的命令行显示没有找到编译器,那么你需要下载MinGW-w64,注意:即使你找到了编译器,也可能存在一种问题,在最后面我会说明,你也需要重新下载对应matlab版本的MinGW64编译器
MinGW-w64步骤如下
建议直接在官网找到对应版本,然后下载
官方地址:http://mingw-w64/doku.php
1.选择Downloads,进入 MinGW-w64 下载详情页面。
2.(链接下滑)点击SourceForge,进入MinGW-w64 下载页面。
3.下拉至底部选择“Download mingw-w64-install.exe”超链接,将会下载这个 MinGW-w64 自动安装的程序。
下载很快,然后找到下载的位置,然后进行安装配置
下载完成后,双击进入安装。
1.选择版本
说明:Version 指的是 gcc 的版本,与MATLAB的版本要对应;下载必须要是说明文件中对应的版本,2018a对应mingw5.3版本,5.2、5.4都不行
Architecture值的是电脑架构,电脑系统是 64位的,选择 x86_64;如果是 32位 系统,则选择 i686 即可
Threads指的是操作系统接口协议,如果你想要开发 Windows 程序,需要选择 win32 ,而开发 Linux、Unix、Mac OS 等其他操作系统下的程序,则需要选择 posix
Exception指的是异常处理模型,异常处理在开发中非常重要,在开发的过程中,大部分的时间会耗在处理各种异常情况上。seh 是新发明的,而 sjlj 则是古老的。seh 性能比较好,但不支持 32位。
sjlj 稳定性好,支持 32位。建议64位操作系统选择seh。
注意:安装路径不能有空格,所以上述我的安装路径是有问题的,因为Program Files\,所以自己按照实际情况修改,我是下载后,重新新建了一个文件夹,下面我会说明(聪明的你,应该没问题)
之后一路Next即可,
找到默认的安装路径,然后把mingw64文件夹,复制放在C盘下
配置MinGW-w64路径
右键“此电脑”–>属性–>高级系统设置–>环境变量–>设置系统变量
点击新建,
变量为:MW_MINGW64_LOC,
值为:TDM-GCC-64的安装位置。我的是C:\mingw64,然后点击确定
然后,在MATLAB命令行内运行命令
setenv('MW_MINGW64_LOC',folder),folder为TDM-GCC的安装位置,要加单引号,我的是setenv('MW_MINGW64_LOC','C:\mingw64')。
此时命令行输入make,会显示下面的信息。说明正常下载,不然重启matlab即可。
最后,如何检查自己已经下载的MinGW64编译器是正确版本,通过下面的连接查找MATLAB版本对应的MinGW-w64版本(相信你可以找到)
查看支持的编译器 https://ww2.mathworks/content ... portedCompilers.pdf
网上说,MATLAB R2015b, R2016a, R2016b, R2017a: MinGW GCC 4.9.2 from TDM
MATLAB R2017b and R2018a: MinGW GCC 5.3 from mingw-w64
MATLAB R2018b and beyond: MinGW GCC 6.3 from mingw-w64
我建议在网上再查一下
在上面的路径下,在命令行,输入命令mex -setup -v,会显示和上面一样的信息,但是再输入命令:make,会显示下面的警告
警告: 您使用的是不受支持的 MinGW 编译器版本。要安装支持的 MinGW 编译器版本,请参阅: 安装 MinGW-w64 编译器。 有关当前支持的编译器的列表,请访问 https://www.mathworks/support/compilers。
那么,你就需要按照上面的步骤重新下载对应版本的MinGW-w64 编译器。
三、测试
按照网上最常见的测试方法,来进行一下测试。
将Libsvm文件下的测试数据集heart_scale复制到Libsvm\matlab下,后续的操作将在该文件夹下进行,同时将MATLAB工作路径转至该文件下(在MATLAB中也可完成文件的复制粘贴工作)。
在命令行窗口输入
[heart_scale_label,heart_scale_inst]=libsvmread('heart_scale');
model = svmtrain(heart_scale_label,heart_scale_inst) ;
[predict_label,accuracy,dec_values] = svmpredict(heart_scale_label,heart_scale_inst,model);
至此,安装步骤结束
更多推荐
MATLAB下载libsvm,以及对应MinGW-w64版本下载(亲测有效)
发布评论