pub struct PqCodebook {
pub m: usize,
pub k: usize,
pub dim: usize,
pub centroids: Vec<f32>,
}Expand description
Product Quantization codebook.
Fields§
§m: usizeNumber of subspaces.
k: usizeNumber of centroids per subspace.
dim: usizeOriginal vector dimensionality.
centroids: Vec<f32>Centroids: [subspace][centroid][sub_dim].
Flattened: length = m * k * (dim / m).
Implementations§
Source§impl PqCodebook
impl PqCodebook
Sourcepub fn train(vectors: &[&[f32]], m: usize, k: usize, iterations: usize) -> Self
pub fn train(vectors: &[&[f32]], m: usize, k: usize, iterations: usize) -> Self
Train a codebook from a set of vectors using k-means.
vectors: training data (each of lengthdim)m: number of subspacesk: centroids per subspaceiterations: k-means iterations
Trait Implementations§
Source§impl Clone for PqCodebook
impl Clone for PqCodebook
Source§fn clone(&self) -> PqCodebook
fn clone(&self) -> PqCodebook
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PqCodebook
impl RefUnwindSafe for PqCodebook
impl Send for PqCodebook
impl Sync for PqCodebook
impl Unpin for PqCodebook
impl UnwindSafe for PqCodebook
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more