参考自:https://blog.csdn.net/icestone007/article/details/6804150
最近自己做的项目因为用到SVM分类,使用的是matlab中使用libsvm工具箱训练的svm分类器,随着训练集的不断增加,训练时间明显越来越长,每次都重新训练太过于浪费时间,一直赖着没查这方面,其实SVM用的也很广泛,这方面的封装固化流程也很完善了,今天就自己根据另一个博主写的尝试下。后边自己尝试结果出错也解决了,具体我的实施过程在后边。
保存svm model到文件:(savemodel.c)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "svm.h"
#include "mex.h"
#include "svm_model_matlab.h"
void exit_with_help()
{
mexPrintf(
"Usage: savemodel('filename', model);\n"
);
}
int savemodel(const char *filename, const mxArray *matlab_struct)
{
const char *error_msg;
struct svm_model* model;
int result;
model = matlab_matrix_to_model(matl