Сохранить и загрузить SVM в OpenCV в Python - PullRequest
0 голосов
/ 13 февраля 2019

Я тренирую модель, используя SVM, и сохраняю ее, используя:

svm.save("my_svm.xml")

Когда я пытаюсь загрузить модель, используя

svm = cv2.ml.SVM_load('my_svm.xml')

Я получаю ошибку:

cv2.error: OpenCV(4.0.0) /Users/travis/build/skvark/opencv-python/opencv/modules/ml/src/svm.cpp:2203: error: (-212:Parsing error) Missing or invalid SVM type in function 'read_params

Я проверил файл xml, и поле определенно существует в

<opencv_storage>
   <opencv_ml_svm>
      <format>3</format>
      <svmType>C_SVC</svmType>
       ....

Я проверил файл онлайн , и он выглядит так:

// check for old naming
String svm_type_str = (String)(fn["svm_type"].empty() ? fn["svmType"] : fn["svm_type"]);
int svmType =
    svm_type_str == "C_SVC" ? C_SVC :
    svm_type_str == "NU_SVC" ? NU_SVC :
    svm_type_str == "ONE_CLASS" ? ONE_CLASS :
    svm_type_str == "EPS_SVR" ? EPS_SVR :
    svm_type_str == "NU_SVR" ? NU_SVR : -1;

if( svmType < 0 )
    CV_Error( CV_StsParseError, "Missing or invalid SVM type" );

У кого-нибудь есть идеи, почему он может потерпеть неудачу?

...