Fast C++ implementation of https://github.com/yahoo/lopq: Locally Optimized Product Quantization (LOPQ) model and searcher for approximate nearest neighbor search of high dimensional data.
Published to GitHub
LOPQ is a hierarchical quantization algorithm that produces codes of configurable length for data points. These codes are efficient representations of the original vector and can be used in a variety of ways depending on the application, including as hashes that preserve locality, as a compressed vector from which an approximate vector in the data space can be reconstructed, and as a representation from which to compute an approximation of the Euclidean distance between points.
This port requires a model, trained with code provided for Python and/or Spark and deployed via a Protobuf format to, e.g., search backends for high performance approximate nearest neighbor search.