Skip to main content

load_sift_dataset

Function load_sift_dataset 

Source
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());