[pktools] 88/375: use mask value itself for flag in pkclassify_svm.cc

Bas Couwenberg sebastic at xs4all.nl
Wed Dec 3 21:54:02 UTC 2014


This is an automated email from the git hooks/post-receive script.

sebastic-guest pushed a commit to branch upstream-master
in repository pktools.

commit be9e0b1f4df10abf5d9d6457767d8ab507f22c20
Author: user <user at osgeolive.(none)>
Date:   Wed Apr 17 23:13:27 2013 +0200

    use mask value itself for flag in pkclassify_svm.cc
---
 src/apps/pkclassify_svm.cc |  6 ++++--
 src/apps/pkopt_svm.cc      | 26 ++++++++++++++++++++++++--
 2 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/src/apps/pkclassify_svm.cc b/src/apps/pkclassify_svm.cc
index bd265dc..e09fd99 100644
--- a/src/apps/pkclassify_svm.cc
+++ b/src/apps/pkclassify_svm.cc
@@ -759,14 +759,16 @@ int main(int argc, char *argv[])
           for(short ivalue=0;ivalue<maskValue_opt.size();++ivalue){
             if(maskValue_opt[ivalue]>=0){//values set in maskValue_opt are invalid
               if(lineMask[icol]==maskValue_opt[ivalue]){
-                theMask=(flag_opt.size()==maskValue_opt.size())? flag_opt[ivalue] : flag_opt[0];// lineMask[icol];
+                // theMask=(flag_opt.size()==maskValue_opt.size())? flag_opt[ivalue] : flag_opt[0];
+                theMask=lineMask[icol];
                 masked=true;
                 break;
               }
             }
             else{//only values set in maskValue_opt are valid
               if(lineMask[icol]!=-maskValue_opt[ivalue]){
-                  theMask=(flag_opt.size()==maskValue_opt.size())? flag_opt[ivalue] : flag_opt[0];// lineMask[icol];
+                theMask=lineMask[icol];
+		// theMask=(flag_opt.size()==maskValue_opt.size())? flag_opt[ivalue] : flag_opt[0];
                 masked=true;
               }
               else{
diff --git a/src/apps/pkopt_svm.cc b/src/apps/pkopt_svm.cc
index 2d36358..fff9467 100644
--- a/src/apps/pkopt_svm.cc
+++ b/src/apps/pkopt_svm.cc
@@ -474,6 +474,13 @@ int main(int argc, char *argv[])
     gamma_opt.push_back(0);//will be translated to 1.0/nFeatures
   assert(ccost_opt.size()==3);//min, init, max
   assert(gamma_opt.size()==3);//min, init, max
+  assert(gamma_opt[0]<gamma_opt[1]);
+  assert(gamma_opt[0]<gamma_opt[2]);
+  assert(gamma_opt[2]<gamma_opt[1]);
+  assert(ccost_opt[0]<ccost_opt[1]);
+  assert(ccost_opt[0]<ccost_opt[2]);
+  assert(ccost_opt[2]<ccost_opt[1]);
+
   std::vector<double> x(2);
   if(algorithm_opt[0]=="GRID"){
     double minError=1000;
@@ -515,6 +522,7 @@ int main(int argc, char *argv[])
     std::vector<double> lb(2);
     std::vector<double> init(2);
     std::vector<double> ub(2);
+
     lb[0]=ccost_opt[0];
     lb[1]=(gamma_opt[0]>0)? gamma_opt[0] : 1.0/trainingFeatures[0][0].size();
     init[0]=ccost_opt[2];
@@ -533,7 +541,21 @@ int main(int argc, char *argv[])
       optimizer.set_xtol_rel(tolerance_opt[0]);
     double minf=0;
     x=init;
-    optimizer.optimize(x, minf);
+    try{
+      optimizer.optimize(x, minf);
+    }
+    catch(string error){
+      cerr << error << std::endl;
+      exit(1);
+    }
+    catch (exception& e){
+      cout << e.what() << endl;
+    }
+    catch(...){
+      cerr << "error catched" << std::endl;
+      exit(1);
+    }
+
     double ccost=x[0];
     double gamma=x[1];
     if(verbose_opt[0])
@@ -542,4 +564,4 @@ int main(int argc, char *argv[])
   std::cout << " --ccost " << x[0];
   std::cout << " --gamma " << x[1];
   std::cout << std::endl;
-}      
+}

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/pktools.git



More information about the Pkg-grass-devel mailing list