训练代码使用Python,测试代码将使用C++重写
参考sklearn的Python和C++的代码实现了SVM测试部分的python代码,基本无任何包依赖,可较方便地改写为C++代码集成到项目中,主要参考代码如下:
- sklearn/svm/_libsvm.pxi
- sklearn/svm/_libsvm.pyx
- sklearn/svm/src/libsvm/libsvm_helper.c
- sklearn/svm/src/libsvm/svm.h
- sklearn/svm/src/libsvm/svm.cpp
- sklearn/utils/_cython_blas.pyx
另外还参考了skimage的Python和C++的代码实现了hog的python代码,主要参考代码如下:
- 运行data2npy.py生成训练测试数据
- 运行svm_origin.py会训练与测试SVM模型并保存模型参数,调用的是sklearn的代码
- 运行svm_ldy.py会加载模型参数进行测试,调用的是自行编写的代码
- 运行bin_to_cpp_header.cpp,生成实际测试所需的c++头文件
- 数据集默认路径为dataset,模型参数默认保存路径为model
- 原版的SVM
- 自行实现的SVM