List of all members.
Public Member Functions
|void||resize (unsigned Q, unsigned K=0)|
|void||init (unsigned Q, unsigned maxID)|
|void||load (std::istream &is)|
|void||save (std::ostream &os) const|
|void||load (const std::string &path)|
|void||save (const std::string &path) const|
|unsigned||getQ () const|
|unsigned||getQuery (unsigned n) const|
|Get the ID of the nth query. |
|const Topk< KEY > &||getAnswer (unsigned n) const|
|Get the nearest neighbors of the nth query. |
|Topk< KEY > &||getAnswer (unsigned n)|
|Get the KNNs for modification. |
We assume the feature vectors in the benchmark database are numbered from 0 to N. We sample Q queries as test examples and run K-NN search against the database with linear scan. The results are saved in a benchmark file for evaluation purpose. A benchmark file is made up of Q lines, each line represents a test query and is of the following format:
<query id>=""> <K> <1st NN's ID> <distance> <2nd NN's ID> <distance> ... <Kth NN's ID> <distance>
For all queries in the benchmark file, the K value should be the same.
Because the query points are also sampled from the database, they should be excluded from scanning when running this particular query.