[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