diff options
| -rw-r--r-- | model/ranksvmtn.cpp | 2 | ||||
| -rw-r--r-- | tools/dataProvider.h | 30 | 
2 files changed, 21 insertions, 11 deletions
diff --git a/model/ranksvmtn.cpp b/model/ranksvmtn.cpp index 5916170..9beed65 100644 --- a/model/ranksvmtn.cpp +++ b/model/ranksvmtn.cpp @@ -212,7 +212,7 @@ int train_orig(int fsize, RidList &Data,const VectorXd &corr,VectorXd &weight){      int iter = 0;      long n=Data.getSize(); -    LOG(INFO) << "training with feature size:" << fsize << " Data size:" << n << " Query size:" << Data.getqSize(); +    LOG(INFO) << "training with feature size:" << fsize << " Data size:" << Data.getSize() << " Query size:" << Data.getqSize();      VectorXd grad(fsize);      VectorXd step(fsize);      vector<int> rank(n); diff --git a/tools/dataProvider.h b/tools/dataProvider.h index 390432e..07f1989 100644 --- a/tools/dataProvider.h +++ b/tools/dataProvider.h @@ -144,13 +144,18 @@ public:          b=x%q;          double res = 0;          Eigen::VectorXd *id,*oth; -        id = &(uniq[a]->feature);          if (single) +        { +            id = &(uniq[a]->feature);              oth = &(other[b]->feature); -        else if (b<a) -            oth = &(all[b]->feature); -        else -            oth = &(all[b+1]->feature); +        } +        else { +            id = &(all[a]->feature); +            if (b<a) +                oth = &(all[b]->feature); +            else +                oth = &(all[b+1]->feature); +        }          for (int i=0;i<n;++i)              res += fabs((*id)[i] - (*oth)[i])*w[i];          return res; @@ -161,13 +166,18 @@ public:          a=x/q;          b=x%q;          Eigen::VectorXd *id,*oth; -        id = &(uniq[a]->feature);          if (single) +        { +            id = &(uniq[a]->feature);              oth = &(other[b]->feature); -        else if (b<a) -            oth = &(all[b]->feature); -        else -            oth = &(all[b+1]->feature); +        } +        else { +            id = &(all[a]->feature); +            if (b<a) +                oth = &(all[b]->feature); +            else +                oth = &(all[b+1]->feature); +        }          for (int i=0;i<n;++i)              X[i] += fabs((*id)[i] - (*oth)[i])*w;      }  | 
