From d046602ea4e2f8a9b08bd632073816d32fef9ab9 Mon Sep 17 00:00:00 2001 From: Eduardo Arnold Date: Tue, 29 Mar 2016 16:29:41 -0300 Subject: [PATCH] Enforced DecisionFunction vector indexes to be saved on SVM save/load methods --- modules/ml/src/svm.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/ml/src/svm.cpp b/modules/ml/src/svm.cpp index 34acebb991..db3f9fe07c 100644 --- a/modules/ml/src/svm.cpp +++ b/modules/ml/src/svm.cpp @@ -2092,7 +2092,7 @@ public: << "alpha" << "[:"; fs.writeRaw("d", (const uchar*)&df_alpha[df.ofs], sv_count*sizeof(df_alpha[0])); fs << "]"; - if( class_count > 2 ) + if( class_count >= 2 ) { fs << "index" << "[:"; fs.writeRaw("i", (const uchar*)&df_index[df.ofs], sv_count*sizeof(df_index[0])); @@ -2234,11 +2234,11 @@ public: df_index.resize(ofs + sv_count); df_alpha.resize(ofs + sv_count); dfi["alpha"].readRaw("d", (uchar*)&df_alpha[ofs], sv_count*sizeof(df_alpha[0])); - if( class_count > 2 ) + if( class_count >= 2 ) dfi["index"].readRaw("i", (uchar*)&df_index[ofs], sv_count*sizeof(df_index[0])); decision_func.push_back(df); } - if( class_count <= 2 ) + if( class_count < 2 ) setRangeVector(df_index, sv_total); if( (int)fn["optimize_linear"] != 0 ) optimize_linear_svm();