pub struct ProductQuantizerConfig {
pub dim: usize,
pub num_subvectors: usize,
pub bits_per_subvector: usize,
}Expand description
Product Quantization configuration
Fields§
§dim: usizeOriginal vector dimension
num_subvectors: usizeNumber of subvectors
bits_per_subvector: usizeBits per subvector (number of centroids = 2^bits)
Implementations§
Source§impl ProductQuantizerConfig
impl ProductQuantizerConfig
Sourcepub fn default_for_dim(dim: usize) -> Self
pub fn default_for_dim(dim: usize) -> Self
Create a default PQ config for given dimension
Uses 8 subvectors with 8 bits (256 centroids) each by default.
Sourcepub fn subvector_dim(&self) -> usize
pub fn subvector_dim(&self) -> usize
Dimension of each subvector
Sourcepub fn num_centroids(&self) -> usize
pub fn num_centroids(&self) -> usize
Number of centroids per subvector
Sourcepub fn compressed_size(&self) -> usize
pub fn compressed_size(&self) -> usize
Compressed size in bytes
Trait Implementations§
Source§impl Clone for ProductQuantizerConfig
impl Clone for ProductQuantizerConfig
Source§fn clone(&self) -> ProductQuantizerConfig
fn clone(&self) -> ProductQuantizerConfig
Returns a duplicate 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 moreSource§impl Debug for ProductQuantizerConfig
impl Debug for ProductQuantizerConfig
Source§impl<'de> Deserialize<'de> for ProductQuantizerConfig
impl<'de> Deserialize<'de> for ProductQuantizerConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ProductQuantizerConfig
impl RefUnwindSafe for ProductQuantizerConfig
impl Send for ProductQuantizerConfig
impl Sync for ProductQuantizerConfig
impl Unpin for ProductQuantizerConfig
impl UnsafeUnpin for ProductQuantizerConfig
impl UnwindSafe for ProductQuantizerConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more