-
Notifications
You must be signed in to change notification settings - Fork 582
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Probelm with result = j.Search(q[t], k) #65
Comments
I also got the duplicate problem (but didn't get any search time problem). The duplicate problem occurred even when I tried to search with about 1000-NN (tested both BKT and KDT with data with about 100 dimension, and size of around 100,000 using Cosine as distance method), and it happened not only when using Python wrapper, but also when directly using IndexSearcher (so I guess the problem lies withing the source code). My environment: Python 2.7 |
So I was focusing on testing different parameters in the past two weeks, and didn't look too deep into the source code. But I do temporally solve the duplicate problem by adding a check when adding a node to the result query (QueryResultSet.h under SPTAGLib):
Although making this change can avoid the duplicates, I believe that this is not the alternative solution as the same node should not be able to reach AddPoint function more than once (maybe something wrong when checking the hash table, haven't looked at the hash table yet). |
I used SPTAG in face searching. There're more than a million faces in my database.
When I change k value from 28000 to 30000, the searching time raised from 0.4s to several minutes.
I got many duplicate indices from j.Search() when I set k to a value bigger than 10000.
Looking forward to your reply.
My environment:
Python 3.7
Ubuntu 18.04
The text was updated successfully, but these errors were encountered: