【发布时间】:2011-02-10 01:47:15
【问题描述】:
我正在使用PYML 构建多类线性支持向量机 (SVM)。在训练 SVM 之后,我希望能够保存分类器,以便在后续运行中我可以立即使用分类器而无需重新训练。不幸的是,该分类器没有实现 .save() 函数,并且尝试腌制它(使用标准 pickle 和 cPickle )会产生以下错误消息:
pickle.PicklingError: Can't pickle : it's not found as __builtin__.PySwigObject有没有人知道解决这个问题的方法或没有这个问题的替代库?谢谢。
编辑/更新
我现在正在训练并尝试使用以下代码保存分类器:
请注意,我现在使用 PyML 保存机制而不是酸洗进行保存,并且我已将“saveSpace=False”传递给训练函数。但是,我仍然收到错误消息:
ValueError:为了保存数据集,您需要训练为:s.train(data, saveSpace = False)但是,我传递的是 saveSpace=False... 那么,如何保存分类器?
附言
我正在使用的项目是pyimgattr,以防您想要一个完整的可测试示例...该程序使用“./pyimgattr.py train”运行...这会给您这个错误。另外,关于版本信息的注释:
【问题讨论】:
标签: python pickle svm libsvm pyml