【问题标题】:Assertion sv_count !=0 failed - Function train_auto, SVM type - EPS_SVR断言 sv_count !=0 失败 - 函数 train_auto,SVM 类型 - EPS_SVR
【发布时间】:2017-08-29 04:51:21
【问题描述】:

问题与 OpenCV 库有关,版本 2.4.13.2。

我使用图像中的 n 维特征向量进行训练和执行回归。输出值范围在 0 到 255 之间。 CvSVM::train 函数可以正常工作,但需要手动设置参数。所以,我更喜欢使用函数CvSVM::train_auto 来执行交叉验证并确定适合这种情况的最佳参数。

但我面临错误:

OpenCV 错误:CvSVM::do_train 中的断言失败 (sv_count != 0)。

将类型更改为NU_SVR,效果很好。问题仅在于类型EPS_SVR

如果我能得到解决此问题的任何帮助,我将不胜感激。

编辑:我能够将问题定位到文件中的第 1786 行 -

opencv-master\sources\modules\ml\src\svm.cpp

FOR_IN_GRID(p, p_grid)

评论后,代码运行没有错误。我不知道可能的原因。

【问题讨论】:

  • EPS_SVR 也有同样的问题

标签: c++ opencv regression svm


【解决方案1】:

面临同样的错误。发现此错误是由svm.setP(x)svm.setTermCriteria((cv2.TERM_CRITERIA_EPS, y)) 引起的,其中 x 和 y 值大于 0.1 (10^-1)。

【讨论】:

    猜你喜欢
    • 2014-12-18
    • 2016-02-11
    • 2015-09-03
    • 2015-10-13
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 2016-06-25
    • 2015-07-27
    相关资源
    最近更新 更多