如何在 SVM 分类器中重用训练信息
How to resuse train information in SVM classifier
我正在使用 opencv SVM 分类器对数字和字母进行分类。 (特征数 = 20000,每个特征向量的长度 = 125,类别数 36)。
当我运行我的程序时,以下函数(训练)花费了大量时间
svmob.train_auto(m_features, m_labels, cv::Mat(), cv::Mat(), m_params, 10);
有没有办法存储上述函数的输出并在程序的下一次运行中使用它?
这样我就可以避免训练时间?
是的,只需保存训练好的模型:
svmob.train_auto(m_features, m_labels, cv::Mat(), cv::Mat(), m_params, 10);
svmob.save("svmob.yml.gz"); // zipping saves 3/4 space.
稍后,与其重新训练,不如在:
中读回
SVM svmob;
svmob.load("svmob.yml.gz");
svmob.predict(...);
我正在使用 opencv SVM 分类器对数字和字母进行分类。 (特征数 = 20000,每个特征向量的长度 = 125,类别数 36)。
当我运行我的程序时,以下函数(训练)花费了大量时间
svmob.train_auto(m_features, m_labels, cv::Mat(), cv::Mat(), m_params, 10);
有没有办法存储上述函数的输出并在程序的下一次运行中使用它?
这样我就可以避免训练时间?
是的,只需保存训练好的模型:
svmob.train_auto(m_features, m_labels, cv::Mat(), cv::Mat(), m_params, 10);
svmob.save("svmob.yml.gz"); // zipping saves 3/4 space.
稍后,与其重新训练,不如在:
中读回SVM svmob;
svmob.load("svmob.yml.gz");
svmob.predict(...);