From 2ba0d31785dee518e610a554964a57915740216e Mon Sep 17 00:00:00 2001 From: Jie Yang Date: Sun, 5 Jul 2015 22:52:10 +0930 Subject: [PATCH] Fix SVM::trainAuto (Bug #4464) Fix SVM::trainAuto (Bug #4464) --- modules/ml/src/svm.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/ml/src/svm.cpp b/modules/ml/src/svm.cpp index 93180856ec..812e2839bb 100644 --- a/modules/ml/src/svm.cpp +++ b/modules/ml/src/svm.cpp @@ -1675,6 +1675,7 @@ public: Mat samples = data->getTrainSamples(); Mat responses; bool is_classification = false; + Mat class_labels0; int class_count = (int)class_labels.total(); if( svmType == C_SVC || svmType == NU_SVC ) @@ -1688,7 +1689,8 @@ public: setRangeVector(temp_class_labels, class_count); // temporarily replace class labels with 0, 1, ..., NCLASSES-1 - Mat(temp_class_labels).copyTo(class_labels); + class_labels0 = class_labels; + class_labels = Mat(temp_class_labels).clone(); } else responses = data->getTrainResponses(); @@ -1821,6 +1823,7 @@ public: } params = best_params; + class_labels = class_labels0; return do_train( samples, responses ); }