我有一组我已经获得并想使用 SVM 进行分类的面部特征。我打算使用 libsvm 包并使用 MATLAB 进行培训。我已经通过观看斯坦福讲座了解了 SVM。但我不确定如何使用 libsvm 启动.. 需要一些指导...
1 回答
在 matlab 中,您可以将您的 matlab 代码与一些用 c 实现的程序链接起来。这称为mex-file。
但是,您需要编译它们以使其工作。
您可以阅读自述文件以了解如何编译它们:
安装
在 Unix 系统上,我们建议使用 GNU g++ 作为编译器并键入“make”来构建“svmtrain.mexglx”和“svmpredict.mexglx”。请注意,我们假设您的 MATLAB 安装在“/usr/local/matlab”中,如果没有,请更改 Makefile 中的 MATLABDIR。
示例:linux> 制作
要使用 Octave,请输入“make octave”:
示例:linux> make octave
在 Windows 系统上,预构建的二进制文件已经在 `..\windows' 目录下,因此无需进行安装。现在我们包括 32 位二进制文件和 64 位二进制文件,但在未来的版本中,我们将只为 Windows 上的 64 位 MATLAB 提供二进制文件。如果您修改了源代码并想重新构建包,请在 MATLAB 中键入“mex -setup”以首先为 mex 选择编译器。然后输入“make”开始安装。
例子:
matlab> mex -setup
(ps:MATLAB 将显示以下消息以设置默认编译器。)请选择您的编译器来构建外部接口 (MEX) 文件:您希望 mex 找到已安装的编译器 [y]/n 吗?y 选择编译器: 1 Microsoft Visual C/C++ version 7.1 in C:\Program Files\Microsoft Visual Studio [0] 无编译器:1 请验证您的选择:编译器:Microsoft Visual C/C++ 7.1 位置:C:\Program Files \Microsoft Visual Studio 这些是否正确?([y]/n): y
matlab> make
有关 MATLAB 支持/兼容的编译器列表,请查看以下页面: