Non-Metric Space Library (NMSLIB): An efficient similarity search library and a toolkit for evaluation of k-NN methods for generic non-metric spaces.
APACHE-2.0 License
Bot releases are visible (Hide)
Published by searchivarius over 3 years ago
Note: We unfortunately had deployment issues. As a result we had to delete several versions between 2.0.6 and 2.1.1. If you installed one of these versions, please, delete them and install a more recent version (>=2.1.1).
The current build focuses on:
negdotprod
, l1
, linf
.Published by searchivarius over 4 years ago
Just providing Python 3.8 binaries.
Published by searchivarius almost 5 years ago
The main objective of this release to provide binary wheels. For compatibility reasons, we need to stick to basic SSE2 instructions. However, when the Python library is being imported, it prints a message suggesting that a more efficient version can be installed from sources (and tells how to do this).
Furthermore, this release removes a lot of old code, which speeds up compilation by 70%:
This is a step towards more lightweight NMSLIB library.
Published by searchivarius over 5 years ago
#398 Fixing memory leak in loadIndex
Published by searchivarius over 5 years ago
This is a clean-up release focusing on several important issues:
Published by searchivarius about 6 years ago
Hopefully this will fix the Windows build #348
Published by searchivarius about 6 years ago
An additional fix for #327
Published by searchivarius over 6 years ago
Published by searchivarius over 6 years ago
Resolving issue #327
Published by searchivarius over 6 years ago
Published by searchivarius over 6 years ago
Published by searchivarius over 6 years ago
This release mostly focuses on bug fixing and documentation improving.
Published by searchivarius almost 8 years ago
Here are the list of changes for the version 1.6 (manual isn't updated yet):
We especially thank the following people for the fixes:
cmake . -DWITH_EXTRAS=1
distutils
. You can run: python setup.py build
and then sudo python setup.py install
.addDataPoint*
functions return a position of an inserted entry. This can be useful if you use function getDataPoint
*.py
files in the folder python_bindings
.experiment
(experiment.exe
) now accepts the option recallOnly
. If this option has argument 1, then the only effectiveness metric computed is recall. This is useful for evaluation of HNSW, because (for efficiency reasons) HNSW does not return proper distance values (e.g., for L2 it's a squared distance, not the original one). This makes it impossible to compute effectiveness metrics other than recall (returning wrong distance values would also lead to experiment
terminating with an error message).negdotprod_sparse
: negative inner (dot) product. This is a sparse
space.querynorm_negdotprod_sparse
: query-normalized inner (dot) product, which is the dot product divded by the query norm.renyi_diverg
: Renyi divergence. It has the parameter alpha
.ab_diverg
: α-β-divergence. It has two parameters: alpha
and beta
.simple_invindx
: A classical inverted index with a document-at-a-time processing (via a prirority queue). It doesn't have parameters, but works only with the sparse space negdotprod_sparse
.falconn
: we ported (created a wrapper for) a June 2016's version of FALCONN library.
hash_family
, cross_polytope
, hyperplane
, storage_hash_table
, num_hash_bits
, num_hash_tables
, num_probes
, num_rotations
, seed
, feature_hashing_dimension
) merely map to FALCONN parameters.norm_data
and center_data
tells us to center and normalize data. Our implementation of the centering (which is done unfortunately before the hashing trick is applied) for sparse data is horribly inefficient, so we wouldn't recommend using it. Besides, it doesn't seem to improve results. Just in case, the number of sprase dimensions used for centering is controlled by the parameter max_sparse_dim_to_center
.use_falconn_dist
to 1.Published by searchivarius over 8 years ago
Published by searchivarius over 8 years ago
Performance improvement.
Published by searchivarius over 8 years ago
This is a bugfix release to address issue #98
Published by searchivarius over 8 years ago
Published by searchivarius about 9 years ago
Published by searchivarius over 10 years ago