You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+8-3Lines changed: 8 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,11 @@ Header-only C++ HNSW implementation with python bindings. Paper's code for the H
3
3
4
4
**NEWS:**
5
5
6
-
**Thanks to Louis Abraham ([@louisabraham](https://github.com/louisabraham)) hnswlib can now be installed via pip!**
6
+
***Thanks to Apoorv Sharma [@apoorv-sharma](https://github.com/apoorv-sharma), hnswlib now supports true element updates (the interface remained the same, but when you the perfromance/memory should not degrade as you update the element embeddinds).**
7
+
8
+
***Thanks to Dmitry [@2ooom](https://github.com/2ooom), hnswlib got a boost in performance for vector dimensions that are not mutiple of 4**
9
+
10
+
***Thanks to Louis Abraham ([@louisabraham](https://github.com/louisabraham)) hnswlib can now be installed via pip!**
7
11
8
12
Highlights:
9
13
1) Lightweight, header-only, no dependencies other than C++ 11.
@@ -23,10 +27,10 @@ Description of the algorithm parameters can be found in [ALGO_PARAMS.md](ALGO_PA
Note that inner product is not an actual metric. An element can be closer to some other element than to itself.
33
+
Note that inner product is not an actual metric. An element can be closer to some other element than to itself. That allows some speedup if you remove all elements that are not the closest to themselves from the index.
30
34
31
35
For other spaces use the nmslib library https://github.com/nmslib/nmslib.
32
36
@@ -42,6 +46,7 @@ Index methods:
42
46
*`add_items(data, data_labels, num_threads = -1)` - inserts the `data`(numpy array of vectors, shape:`N*dim`) into the structure.
43
47
*`labels` is an optional N-size numpy array of integer labels for all elements in `data`.
44
48
*`num_threads` sets the number of cpu threads to use (-1 means use default).
49
+
*`data_labels` specifies the labels for the data. If index already has the elements with the same labels, their features will be updated. Note that update procedure is slower than insertion of a new element, but more memory- and query-efficient.
45
50
* Thread-safe with other `add_items` calls, but not with `knn_query`.
46
51
47
52
*`mark_deleted(data_label)` - marks the element as deleted, so it will be ommited from search results.
0 commit comments