A Python library for efficient Point-to-hyperplane nearest neighbours search (P2HNNS)
Project description
# Point-to-hyperplane nearest neighbours search (P2HNNS) A Python library for efficient Point-to-hyperplane nearest neighbours search (P2HNNS) using locality sensitive hashing (LSH) approaches. The library implements the 5 different methods described below.
Bilinear Hyperplane (BH) hashing
Embedding Hyperplane (EH) hashing
Multilinear Hyperplane (MH) hashing
Nearest Hyperplane (NH) hashing
Furthest Hyperplane (FH) hashing
The implementation is based on the original code of [HuangQiang](https://github.com/HuangQiang/P2HNNS) (implemented in C++) and [stepping1st](https://github.com/stepping1st/hyperplane-hash/tree/master)(implemented in Java).
The original papers proposing each method will be explicitly provided in section [Resources](#Resources).
## Installation The library can be installed via the pip package manager using the following command ` pip install P2HNNS `
## Documentation Extensive documentation for using the library is available via [Read the Docs](https://p2hnns.readthedocs.io/en/latest/index.html)
## Tests Unit tests are written using the pytest framework for all functionalities of the library. Tests are located in the [/tests](/tests/) directory.
## Resources - [Point-to-Hyperplane Nearest Neighbor Search Beyond the Unit Hypersphere, SIGMOD 2021](https://dl.acm.org/doi/abs/10.1145/3448016.3457240) (Original FH and NH paper) - [Compact Hyperplane Hashing with Bilinear Functions, ICML 2012](https://arxiv.org/abs/1206.4618) (Original BH paper) - [Hashing Hyperplane Queries to Near Points with Applications to Large-Scale Active Learning, NeurIPS 2010](https://proceedings.neurips.cc/paper/2010/hash/470e7a4f017a5476afb7eeb3f8b96f9b-Abstract.html) (Original EH paper) - [Multilinear Hyperplane Hashing,CVPR 2016](https://openaccess.thecvf.com/content_cvpr_2016/papers/Liu_Multilinear_Hyperplane_Hashing_CVPR_2016_paper.pdf) (Original MH paper) - [Original C++ implementation by Huang Qiang](https://github.com/HuangQiang/P2HNNS) - [Java implementation](https://github.com/stepping1st/hyperplane-hash)
## License The library is licensed under the MIT Software license. You can see more details in the [LICENSE file](./LICENSE).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file P2HNNS-1.0.2.tar.gz
.
File metadata
- Download URL: P2HNNS-1.0.2.tar.gz
- Upload date:
- Size: 3.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4f202f00e8e2f68a3d536454e9ef3c17a836ac7d7023019b53122ccc2abe2f5 |
|
MD5 | 7598d6173097386fca9a42bf42e8cdee |
|
BLAKE2b-256 | 38327c908f0662106bf18c588dc34ce842369a5b0963945b7e2b2365515dcf44 |