首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将经过训练的SVM输出保存到文件中?(OpenCV / SimpleCV)

问如何将经过训练的SVM输出保存到文件中?(OpenCV / SimpleCV)
EN

Stack Overflow用户
提问于 2015-06-17 08:06:31
回答 1查看 4.4K关注 0票数 0

使用用于OpenCV / SimpleCV的Python2.7绑定,我编写了一些代码,在三个类上训练支持向量机分类器。

我使用HueHistogramFeatureExtractor()、EdgeHistogramFeatureExtractor()和HaarLikeFeatureExtractor()提取函数来训练。

我将所有这些提取器放入我的SVM分类器中,如下所示:

代码语言:javascript
复制
hhfe = HueHistogramFeatureExtractor(10)
ehfe = EdgeHistogramFeatureExtractor(10)
haarfe = HaarLikeFeatureExtractor(fname="haar.txt")  
extractors = [hhfe,ehfe,haarfe]
svm = SVMClassifier(extractors)

然后,我使用我的数据集和类进行训练。

代码语言:javascript
复制
trainPaths = ['./data/train/bike','./data/train/plane','../data/train/car']
classes = ['bike','plane','car'] 
print svm.train(trainPaths,classes,verbose=False)  

所有这些都是可行的,而且相当准确。但是每次我想重新运行代码时,我都要重新训练分类器。

当我运行这段代码(请记住:详细关闭.)时,我得到的输出如下:

代码语言:javascript
复制
[100.0, 0.0, [[17.0, 0.0, 0.0], [0.0, 17.0, 0.0], [0.0, 0.0, 0.0]]]

feature5x1_11 (<17.000, 17.000, 0.000>) 
: <=2194135.000 --> plane (<0.000, 15.000, 0.000>) 

: >2194135.000 
   Angle_feature5x3_8 (<17.000, 2.000, 0.000>) 
   : <=2937533.000 --> bike (<14.000, 0.000, 0.000>) 

   : >2937533.000 --> bike (<3.000, 2.000, 0.000>) 
[94.11764705882352, 5.88235294117647, [[17.0, 0.0, 0.0], [2.0, 15.0, 0.0], [0.0, 0.0, 0.0]]]

如何保存我训练过的分类器,以便以后使用它?

EN

回答 1

Stack Overflow用户

发布于 2015-06-17 13:30:32

我在这里可能错了,因为我知道C++,而不是looking at this,但是looking at this应该是这样的:

拯救:

代码语言:javascript
复制
svm.train(trainPaths,classes,verbose=False)
svm.save("your_svm.xml")

以后再使用:

代码语言:javascript
复制
svm.load("your_svm.xml")
svm.predict(...)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30885739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档