...
Faiss need add a new interface "add_ex()" for IDMAP and BinaryIDMAP
Code Block | ||
---|---|---|
| ||
// for IndexBinaryFlat============================================================================ struct IndexBinaryFlat : IndexBinary { /// database vectors, size ntotal * d / 8 std::vector<uint8_t> xb; /// external database vectors, size ntotal * d / 8 uint8_t* xb_ex = nullptr; // <==== new added ... ... } void IndexBinaryFlat::add_ex(idx_t n, const uint8_t* x) { xb_ex = (uint8_t*)x; ntotal = n; } //============================================================================ struct IndexFlatCodes : Index { ... ... /// encoded dataset, size ntotal * code_size std::vector<uint8_t> codes; // external encoded dataset , size ntotal * code_size uint8_t* codes_ex = nullptr; // <==== new added ... ... } void IndexFlatCodes::add_ex(idx_t n, const float* x) { FAISS_THROW_IF_NOT(is_trained); FAISS_THROW_IF_NOT(codes.empty()); codes_ex = (uint8_t*)x; ntotal = n; } |
...