簡體   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