Struct faiss::CenteringTransform

struct faiss::CenteringTransform : public faiss::VectorTransform

Subtract the mean of each component from the vectors.

Public Types

typedef Index::idx_t idx_t

Public Functions

explicit CenteringTransform(int d = 0)
virtual void train(idx_t n, const float *x) override

train on n vectors.

virtual void apply_noalloc(idx_t n, const float *x, float *xt) const override

subtract the mean

virtual void reverse_transform(idx_t n, const float *xt, float *x) const override

add the mean

float *apply(idx_t n, const float *x) const

apply the random rotation, return new allocated matrix


x – size n * d_in


size n * d_out

Public Members

std::vector<float> mean

Mean, size d_in = d_out.

int d_in
int d_out

! input dimension

bool is_trained

set if the VectorTransform does not require training, or if training is done already