Faiss Index.search возвращает разные результаты после сохранения и загрузки в файловую системуPython

Программы на Python
Anonymous
Faiss Index.search возвращает разные результаты после сохранения и загрузки в файловую систему

Сообщение Anonymous »

Несогласованный индекс возвращается из index.search после сохранения индекса на диск.

Код: Выделить всё

quantizer = faiss.index_factory(1024, "Flat", faiss.METRIC_INNER_PRODUCT)
index = faiss.IndexIVFPQ(quantizer, 1024, nlist, 8, 8)
index2 = faiss.IndexIDMap(index)

index2.train(xt)
index2.add_with_ids(xd, ids)

faiss.write_index(index2, 'index.bin')
disk_index = faiss.read_index( 'index.bin', faiss.IO_FLAG_ONDISK_SAME_DIR)

D, I = index2.search(xq, k)
D_disk, I_disk = disk_index.search(xq, k)

np.array_equal(D, D_disk) # True
np.array_equal(I, I_disk)  # False
В чем может быть причина несовпадения идентификаторов?
Создание одинаковых идентификаторов

Подробнее здесь: https://stackoverflow.com/questions/785 ... -to-file-s

Вернуться в «Python»