while ref index is not equal with test index, comparing refD with testD would like comparing apple and orange, the distances are || vectorX - C[it->second] || and || vectorX - C[result]||
suggest move this code block into if (it != indices.end()){ ... }, and change to refD = lookup(refDist, query, it->second, dim1, dim2)
Platform
OS: Ubuntu 22.04
Faiss version: master
Installed from: conda
Faiss compilation options:
Running on:
[x] CPU
[x] GPU
Interface:
[x] C++
[ ] Python
Reproduction instructions
I remember it was found by running build/faiss/gpu/test/TestIVFPQ largebatch, but the env is lost, so not sure the exact config...
while EXPECT_LE(relErr, maxRelativeError) is failed, the stats printed below shows only tiny difference in result, about 0.1%, so I think this is an issue
Summary
in
compareLists()
: https://github.com/facebookresearch/faiss/blob/abff75ef078aa7b2258c5ea965f2353691c71b42/faiss/gpu/test/TestUtils.cpp#L259-L268while ref index is not equal with test index, comparing
refD
withtestD
would like comparing apple and orange, the distances are|| vectorX - C[it->second] ||
and|| vectorX - C[result]||
suggest move this code block into
if (it != indices.end()){ ... }
, and change torefD = lookup(refDist, query, it->second, dim1, dim2)
Platform
OS: Ubuntu 22.04
Faiss version: master
Installed from: conda
Faiss compilation options:
Running on:
Interface:
Reproduction instructions
I remember it was found by running build/faiss/gpu/test/TestIVFPQ largebatch, but the env is lost, so not sure the exact config...