VyntriVyntri
API Reference

Config & Result Objects

Configuration parameters and all result object types.

vyntri.config

Config

Validated configuration with describe(), JSON export/import.

Core

FieldDefaultDescription
backbone"mobilenet_v3_small"Feature extractor backbone (mobilenet_v3_small, resnet18, resnet50, efficientnet_b0, convnext_tiny, or auto)
adaptation"fk"Adaptation method: "fk" (discriminative whitening), "slce" (centroid encoder), or "none"
candidatesNoneList of backbone names to evaluate when backbone="auto". None = evaluate all supported backbones.

Adaptation

FieldDefaultDescription
shrinkage"diagonal"Covariance regularization: "diagonal", "ledoit_wolf", or "none"
shrinkage_alpha0.5Diagonal shrinkage intensity
regularization1e-4Ridge regularization strength
projection_dimNoneProjection dimension (None auto-resolves to min(128, feature_dim, C-1))

Runtime

FieldDefaultDescription
seed42Random seed
device"auto""auto", "cpu", or "cuda"
dtype"float32"Feature storage dtype (solves always use float64)
batch_size32Feature extraction batch size
num_workers0DataLoader workers for extraction (0 = main process)
input_size224Center-crop size fed to the backbone

Cache

FieldDefaultDescription
cache_enabledTrueEnable disk caching of extracted features
cache_dir".vyntri_cache"Directory for the feature cache

Advanced Numerical

FieldDefaultDescription
eigenvalue_floorNoneAbsolute eigenvalue floor for FK inverse square root (None = auto)
floor_ratio1e-4Relative eigenvalue floor for FK when eigenvalue_floor is unset

Result Objects

PredictionResult

Returned by model.predict(image).

FieldTypeDescription
pathstrImage path (or <PIL image>)
labelstrPredicted class name
confidencefloatClassification confidence (0-1)

BatchPredictionResult

Returned by model.predict_batch(images).

FieldTypeDescription
pathslist[str]Image paths in order
labelslist[str]Predicted class names
confidenceslist[float]Confidence scores
timingsdictTiming breakdown

EvaluationResult

Returned by model.evaluate(test_dataset).

FieldTypeDescription
accuracyfloatOverall accuracy
macro_f1floatMacro-averaged F1 score
weighted_f1floatWeighted F1 score
balanced_accuracyfloatBalanced accuracy (recall per class averaged)
confusion_matrixnp.ndarrayConfusion matrix (rows=true, cols=pred)
class_nameslist[str]Class names in order
per_classdictPer-class precision, recall, f1, support
n_samplesintTotal samples evaluated
timingsdictTiming breakdown

UpdateResult

Returned by model.update(dataset).

FieldTypeDescription
classes_beforelist[str]Classes before update
classes_afterlist[str]Classes after update
new_classeslist[str]Newly added classes (empty if only adding data to existing classes)
n_samplesintSamples added
samples_per_classdictSamples added per class
in_sample_accuracyfloat | NoneAccuracy on the update batch itself (not held-out)

AnalysisResult

Returned by model.analyze(dataset).

FieldTypeDescription
pathstrResolved dataset path
layoutstr"folder_per_class" or "explicit"
n_imagesintTotal images
n_classesintNumber of classes
classeslist[str]Class names
class_distributiondictImages per class
min_class_sizeintSmallest class
max_class_sizeintLargest class
backbonestrConfigured backbone name
splitdictSplit sizes (train/val/test)
warningslist[str]Dataset quality warnings
timingsdictTiming breakdown

SelectionResult

Returned by model.select_backbone(dataset).

FieldTypeDescription
candidateslist[str]All candidate backbone names
scoresdictLogME scores per candidate
rankedlist[str]Candidates ranked by score
validatedlist[str]Top-k candidates validated
validation_accuraciesdictValidation accuracy per validated candidate
selectedstrWinning backbone name
selected_accuracyfloatWinning validation accuracy
timingsdictTiming breakdown

FineTuneResult

Returned by model.fine_tune(...).

FieldTypeDescription
scopestrScope used ("last_layer", "last_block", or "full")
epochsintNumber of epochs requested
gradient_stepsintTotal gradient steps taken
trainable_parametersintNumber of trainable parameters
optimizerstrOptimizer used ("adam")
learning_ratefloatLearning rate used
weight_decayfloatWeight decay used
best_validation_accuracyfloat | NoneBest validation accuracy during training
historylist[dict]Per-epoch training history
n_trainintTraining samples used
n_valintValidation samples used
timingsdictTiming breakdown