train method

void train(
  1. List<Vector> samples
)

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);
}