train method
Fit codebooks on training vectors.
Implementation
void train(List<Vector> samples) {
if (samples.isEmpty) {
throw StateError('PqIndex.train: need at least 1 sample');
}
final buf = Float32List(samples.length * dim);
for (var i = 0; i < samples.length; i++) {
if (samples[i].dim != dim) {
throw StateError(
'PqIndex.train: sample $i dim ${samples[i].dim} != $dim',
);
}
buf.setRange(i * dim, (i + 1) * dim, samples[i].values);
}
_pq.train(buf);
}