pub fn load_sift_dataset(
root: impl AsRef<Path>,
prefix: &str,
) -> Result<SiftDataset>Expand description
Load a SIFT-family dataset rooted at root and named by prefix.
Resolves the canonical TEXMEX file names: {prefix}_base.fvecs,
{prefix}_query.fvecs, and {prefix}_groundtruth.ivecs directly
under root. For example, load_sift_dataset(".bench-data/siftsmall", "siftsmall") reads .bench-data/siftsmall/siftsmall_base.fvecs and
its siblings.
Validates: every set is non-empty; every row in base and queries
has the same dimensionality; queries.len() == ground_truth.len().
Returns EvalError::EmptyInput, EvalError::DimensionMismatch,
or EvalError::LengthMismatch accordingly.
ยงExamples
use iqdb_eval::load_sift_dataset;
let dataset = load_sift_dataset(".bench-data/siftsmall", "siftsmall")?;
assert_eq!(dataset.queries.len(), dataset.ground_truth.len());