API Reference
Config & Result Objects
Configuration parameters and all result object types.
Validated configuration with describe(), JSON export/import.
| Field | Default | Description |
|---|
| 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" |
| candidates | None | List of backbone names to evaluate when backbone="auto". None = evaluate all supported backbones. |
| Field | Default | Description |
|---|
| shrinkage | "diagonal" | Covariance regularization: "diagonal", "ledoit_wolf", or "none" |
| shrinkage_alpha | 0.5 | Diagonal shrinkage intensity |
| regularization | 1e-4 | Ridge regularization strength |
| projection_dim | None | Projection dimension (None auto-resolves to min(128, feature_dim, C-1)) |
| Field | Default | Description |
|---|
| seed | 42 | Random seed |
| device | "auto" | "auto", "cpu", or "cuda" |
| dtype | "float32" | Feature storage dtype (solves always use float64) |
| batch_size | 32 | Feature extraction batch size |
| num_workers | 0 | DataLoader workers for extraction (0 = main process) |
| input_size | 224 | Center-crop size fed to the backbone |
| Field | Default | Description |
|---|
| cache_enabled | True | Enable disk caching of extracted features |
| cache_dir | ".vyntri_cache" | Directory for the feature cache |
| Field | Default | Description |
|---|
| eigenvalue_floor | None | Absolute eigenvalue floor for FK inverse square root (None = auto) |
| floor_ratio | 1e-4 | Relative eigenvalue floor for FK when eigenvalue_floor is unset |
Returned by model.predict(image).
| Field | Type | Description |
|---|
| path | str | Image path (or <PIL image>) |
| label | str | Predicted class name |
| confidence | float | Classification confidence (0-1) |
Returned by model.predict_batch(images).
| Field | Type | Description |
|---|
| paths | list[str] | Image paths in order |
| labels | list[str] | Predicted class names |
| confidences | list[float] | Confidence scores |
| timings | dict | Timing breakdown |
Returned by model.evaluate(test_dataset).
| Field | Type | Description |
|---|
| accuracy | float | Overall accuracy |
| macro_f1 | float | Macro-averaged F1 score |
| weighted_f1 | float | Weighted F1 score |
| balanced_accuracy | float | Balanced accuracy (recall per class averaged) |
| confusion_matrix | np.ndarray | Confusion matrix (rows=true, cols=pred) |
| class_names | list[str] | Class names in order |
| per_class | dict | Per-class precision, recall, f1, support |
| n_samples | int | Total samples evaluated |
| timings | dict | Timing breakdown |
Returned by model.update(dataset).
| Field | Type | Description |
|---|
| classes_before | list[str] | Classes before update |
| classes_after | list[str] | Classes after update |
| new_classes | list[str] | Newly added classes (empty if only adding data to existing classes) |
| n_samples | int | Samples added |
| samples_per_class | dict | Samples added per class |
| in_sample_accuracy | float | None | Accuracy on the update batch itself (not held-out) |
Returned by model.analyze(dataset).
| Field | Type | Description |
|---|
| path | str | Resolved dataset path |
| layout | str | "folder_per_class" or "explicit" |
| n_images | int | Total images |
| n_classes | int | Number of classes |
| classes | list[str] | Class names |
| class_distribution | dict | Images per class |
| min_class_size | int | Smallest class |
| max_class_size | int | Largest class |
| backbone | str | Configured backbone name |
| split | dict | Split sizes (train/val/test) |
| warnings | list[str] | Dataset quality warnings |
| timings | dict | Timing breakdown |
Returned by model.select_backbone(dataset).
| Field | Type | Description |
|---|
| candidates | list[str] | All candidate backbone names |
| scores | dict | LogME scores per candidate |
| ranked | list[str] | Candidates ranked by score |
| validated | list[str] | Top-k candidates validated |
| validation_accuracies | dict | Validation accuracy per validated candidate |
| selected | str | Winning backbone name |
| selected_accuracy | float | Winning validation accuracy |
| timings | dict | Timing breakdown |
Returned by model.fine_tune(...).
| Field | Type | Description |
|---|
| scope | str | Scope used ("last_layer", "last_block", or "full") |
| epochs | int | Number of epochs requested |
| gradient_steps | int | Total gradient steps taken |
| trainable_parameters | int | Number of trainable parameters |
| optimizer | str | Optimizer used ("adam") |
| learning_rate | float | Learning rate used |
| weight_decay | float | Weight decay used |
| best_validation_accuracy | float | None | Best validation accuracy during training |
| history | list[dict] | Per-epoch training history |
| n_train | int | Training samples used |
| n_val | int | Validation samples used |
| timings | dict | Timing breakdown |