#include <VectorTransform.h>
Public Member Functions | |
| OPQMatrix (int d=0, int M=1, int d2=-1) | |
| if d2 != -1, output vectors of this dimension | |
| virtual void | train (Index::idx_t n, const float *x) override |
| virtual void | reverse_transform (idx_t n, const float *xt, float *x) const override |
Public Member Functions inherited from faiss::LinearTransform | |
| LinearTransform (int d_in=0, int d_out=0, bool have_bias=false) | |
| both d_in > d_out and d_out < d_in are supported | |
| virtual void | apply_noalloc (idx_t n, const float *x, float *xt) const |
| same as apply, but result is pre-allocated | |
| void | transform_transpose (idx_t n, const float *y, float *x) const |
| const float * | maybe_subsample_train_set (Index::idx_t *n, const float *x) |
Public Member Functions inherited from faiss::VectorTransform | |
| VectorTransform (int d_in=0, int d_out=0) | |
| ! output dimension | |
| float * | apply (idx_t n, const float *x) const |
Public Attributes | |
| int | M |
| nb of subquantizers | |
| int | niter |
| Number of outer training iterations. | |
| int | niter_pq |
| Number of training iterations for the PQ. | |
| int | niter_pq_0 |
| int | max_points_per_d |
| if there are too many training points, resample | |
| bool | verbose |
Public Attributes inherited from faiss::LinearTransform | |
| bool | have_bias |
| std::vector< float > | A |
| ! whether to use the bias term More... | |
| std::vector< float > | b |
| bias vector, size d_out | |
| size_t | max_points_per_d |
| bool | verbose |
Public Attributes inherited from faiss::VectorTransform | |
| int | d_in |
| int | d_out |
| ! input dimension | |
| bool | is_trained |
Additional Inherited Members | |
Public Types inherited from faiss::VectorTransform | |
| typedef Index::idx_t | idx_t |
Applies a rotation to align the dimensions with a PQ to minimize the reconstruction error. Can be used before an IndexPQ or an IndexIVFPQ. The method is the non-parametric version described in:
"Optimized Product Quantization for Approximate Nearest Neighbor Search" Tiezheng Ge, Kaiming He, Qifa Ke, Jian Sun, CVPR'13
Definition at line 188 of file VectorTransform.h.
|
overridevirtual |
reverse transformation. May not be implemented or may return approximate result
Reimplemented from faiss::VectorTransform.
Definition at line 630 of file VectorTransform.cpp.
|
overridevirtual |
Perform training on a representative set of vectors. Does nothing by default.
| n | nb of training vectors |
| x | training vecors, size n * d |
Reimplemented from faiss::VectorTransform.
Definition at line 469 of file VectorTransform.cpp.
| int faiss::OPQMatrix::niter_pq_0 |
same, for the first outer iteration
Definition at line 193 of file VectorTransform.h.
1.8.5