繁体   English   中英

如何设置LIBSVM Matlab界面?

[英]How to set up LIBSVM Matlab interface?

我在向MATLAB实现LibSVM时遇到问题。 我正在使用MATLAB R2009a(我也有最新版本,R2012b,但我不使用那个)我将LibSVM软件包libsvm-3.14下载到我的Windows 7 PC,MATLAB和OCTAVE接口汇集在一起​​。

我解压缩了我下载的文件夹。 在下面,您可以看到该文件夹​​所包含的打印屏幕。 在此输入图像描述

我应该把我的libsvm-3.14提取文件夹放在哪里? 我应该把它放在目录中安装的MATLAB的“bin”文件夹下吗?

C:\\ Program Files \\ MATLAB \\ R2009a \\ bin

我做到了,然而,它没有成功。 如果你帮我清楚,我将不胜感激。 我刚刚阅读了README文件,但目前还不清楚,互联网上没有其他在线说明。

目前,放置该文件夹的位置无关紧要。 您必须从驻留在提取的libsvm包的matlab子文件夹中的源代码编译Matlab-MEX文件。

下面,我将调用libsvm-3.14(例如:C:\\ libsvm-3.14)提取的文件夹ROOT(所以在下面替换ROOT wilth C:\\ libsvm-3.14)。

因此,启动Matlab,然后在其命令提示符下键入:

cd ROOT
cd matlab
make

现在,在ROOT / matlab文件夹中,您应该已经获得了两个MEX文件(扩展名为.mexw32或.mexw64)。 这些是您将从现在开始使用的文件。 除了那些文件(以及其他一些生成的库)之外,你可以丢弃其余的文件。

根据Makefile(即ROOT / matlab / make.m),MEX文件称为svmtrain和svmpredic(+扩展名)。

因此,下一步是在你的Matlab / toolbox文件夹下创建一个名为libsvm /的子文件夹,将其中的两个MEX文件复制,然后将libsvm /文件夹添加到Matlab路径(不是系统的路径,而是你的Matlab安装)。

然后,键入:

svmtrain

svmpredict

你应该得到这两个功能的帮助(用法)。

在@axeoth的帮助下,这是解决方案。 我在提取的libsvm包的matlab子文件夹中跟踪了指令文件。 我下载并安装了Microsoft Visual Studio 2010,并在MATLAB的命令窗口中编写了'mex -setup',为mex选择合适的编译器(我在32位PC中使用MATLAB R2012b,所以我在这个链接中找到了支持的编译器http:// www.mathworks.com/support/compilers/R2012b/win64.html )之后,我按照@ axeoth的指示行事。 我将文件夹的名称更改为ROOT并将其移至Documents / MATLAB。 我启动了MATLAB并在命令窗口,我在下面“逐个”写下这些

>> cd C:\\ Users \\ HUstat \\ Documents \\ MATLAB \\ ROOT \\ matlab
>> cd matlab
>>制作

然后我复制了在ROOT / matlab子文件夹中获得的所有内容。 我在MATLAB / toolbox文件夹下创建了一个名为libsvm的新文件夹,并在那里粘贴了所有内容。 然后,我使用MATLAB R2012b上的“Set Path”按钮将libsvm /文件夹添加到Matlab路径。 之后我写了“svmtrain”和“svmpredict”,所以我得到了这两个命令的帮助。

对于那些有重大编译器问题的人,我想我会在安装编译器的主题上留下一些额外的信息。 这是一个令人沮丧的问题,我最终联系了MATLAB寻求帮助。 我会在上面的帖子中评论,但我没有足够的“代表”,所以这里是:

我无法通过Microsoft Visual Studio 2010或其他方式安装Microsoft Windows SDK 7.1。 我发现这是因为我安装了某个版本的Microsoft Visual(版本10.0.04 ......对我来说是问题的原因)。 解决方法是卸载Visual,独立安装SDK 7.1,然后重新安装Visual。 该过程在以下链接中有更详细的说明:

http://www.mathworks.com/matlabcentral/answers/95039-why-does-the-sdk-7-1-installation-fail-with-an-installation-failed-message-on-my-windows-system

也可能是你安装了编译器,但是在MATLAB“找到”之前它才被识别。 重新安装后,这发生在我身上。 要检查您是否拥有正确的编译器并“查找”,请运行mex.getCompilerConfigurations('Any','Installed')以获取完整列表。 然后使用SDK 7.1选择C / C ++版本而不是FORTRAN进行mex -setup。

我知道这个问题已经得到了回答,但希望这可能会帮助我有同样的困境。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM