5

LibSVMをMATLABに実装する際に問題が発生しました。私はMATLABR2009aを使用しています(最新バージョンのR2012bもありますが、使用していません)LibSVMパッケージlibsvm-3.14をWindows 7 PCにダウンロードしました。これは、MATLABとOCTAVEのインターフェイスが一緒になっています。

ダウンロードしたフォルダを解凍しました。以下に、フォルダの内容の印刷画面を示します。ここに画像の説明を入力してください

libsvm-3.14で抽出したフォルダーはどこに置くべきですか?ディレクトリにインストールされているMATLABの「bin」フォルダーの下に配置する必要がありますか?

C:\ Program Files \ MATLAB \ R2009a \ bin

私はそれをしました、しかし、それはうまくいきませんでした。はっきりと助けていただければ幸いです。READMEファイルを読んだだけですが、理解するのが明確ではなく、インターネット上に他の指示はありません。

4

3 に答える 3

8

とりあえず、そのフォルダはどこに置いても構いません。抽出した libsvm パッケージのmatlabサブフォルダーにあるソース コードから、Matlab-MEX ファイルをコンパイルする必要があります。

以下では、libsvm-3.14 (例: C:\libsvm-3.14) で抽出されたフォルダーを ROOT と呼びます (以下の ROOT を C:\libsvm-3.14 に置き換えます)。

そのため、Matlab を起動し、コマンド プロンプトで次のように入力します。

cd ROOT
cd matlab
make

これで、ROOT/matlab フォルダーに 2 つの MEX ファイル (拡張子は .mexw32 または .mexw64) が作成されているはずです。これらは、これから使用するファイルです。これらのファイル (および、おそらく他の生成されたライブラリー) を除いて、残りは破棄できます。

Makefile (ROOT/matlab/make.m) によると、MEX ファイルは svmtrain および svmpredic (+ 拡張子) と呼ばれます。

したがって、次のステップは、libsvm/ という名前のサブフォルダーを Matlab/toolbox フォルダーの下に作成し、そこに 2 つの MEX ファイルをコピーしてから、その libsvm/ フォルダーを Matlab パス (システムのパスではなく、システムのパス) に追加することです。 Matlab のインストール)。

次に、次のように入力します。

svmtrain

svmpredict

これら 2 つの関数のヘルプ (使用法) が必要です。

于 2012-12-19T14:23:50.190 に答える
4

@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を起動し、コマンドウィンドウで、これらを「1つずつ」下に書きました

>> cd C:\Users\HUstat\Documents\MATLAB\ROOT\matlab
>> cd matlab
>> make

次に、ROOT/matlab サブフォルダーで取得したすべてをコピーしました。MATLAB/toolbox フォルダーの下に libsvm という名前の新しいフォルダーを作成し、そこにすべてを貼り付けました。次に、MATLAB R2012b の [パスの設定] ボタンを使用して、その libsvm/ フォルダーを Matlab パスに追加しました。その後、"svmtrain" と "svmpredict" を書いたので、この 2 つのコマンドに助けられました。

于 2012-12-21T08:27:52.577 に答える
1

コンパイラーに重大な問題を抱えている人のために、コンパイラーのインストールに関する追加情報を残しておきたいと思います。これはイライラする問題で、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 を使用して mex -setup を実行し、FORTRAN ではなく C/C++ バージョンを選択します。

質問はすでに回答されていることは知っていますが、これが私が抱えていたのと同じ苦境にある人に役立つことを願っています.

于 2014-09-29T08:47:07.740 に答える