Skip to content
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

请问在sift1M上跑出来的结果,SSG效果没有NSG好,为什么跟论文不一样呢,自己很疑惑, #10

Open
ppniu1 opened this issue Nov 16, 2023 · 4 comments

Comments

@ppniu1
Copy link

ppniu1 commented Nov 16, 2023

我是在sift1M上测试的,看论文,两个方法应该效果差不多的,但是我自己没测出来:(
1)NSSG的构建时间是32.9728+35.99(s);最关注的搜索时间是search_L=100, k=10,时间是17.3324s,而NSG可以3.29968s跑出来,显然是NSG的QPS高了;
2)在我设置多个参数,绘制 QPS vs Recall@10 曲线时,SSG也确实没有outperformNSG;
请问您能给我一些可能的原因嘛~

@ppniu1
Copy link
Author

ppniu1 commented Nov 16, 2023

上面的数据取k=10,其余的参数参考您github上的参数设置的~ k=100也绘制了 QPS vs Recall@10 曲线,仍然是NSG更胜一筹

@yangzq50
Copy link

我也有同样的问题,是否有合理的解释?

@fc731097343
Copy link
Member

可能有几个原因:

  1. 编译选项硬件加速是否都支持。
  2. 运行机器的差异?
  3. 在SSG的论文里显示SSG其实会比NSG更稠密一些,对于简单的数据集类似SIFT而言,SSG相对于NSG没有优势,在论文曲线中,两者几乎重合,我们的测试结果是两者差不多,但对于极端高精度的情况,SSG的运行时间减慢得更多,这个是图的稠密度不同带来的,因为,如果找到目标都只需要图上 的 两三跳的 拓扑距离,那么更稠密的图更吃亏。SSG的核心优势主要还是在本征维度更高的更难的数据上。

@ZimingYuan
Copy link

作者CMakeLists.txt写的有问题,导致O3和AVX都没用上,而这些优化NSG都有。 #11

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants