VyntriVyntri
Examples

Export & Integration

Save, load, CSV export, pipeline integration, and cache management.

Save and load models

save_load.py
from vyntri import Vyntri
from vyntri.data import split

# Create a split and fit
s = split("./my_dataset", train=0.7, test=0.2, seed=42)
model = Vyntri()
model.fit(train=s.train, val=s.val)
model.save("model.vyntri")

# Load (in another script)
model = Vyntri.load("model.vyntri")
pred = model.predict("./new_image.jpg")
print(pred.label, pred.confidence)

Export predictions to CSV

csv_export.py
from vyntri import Vyntri

model = Vyntri.load("model.vyntri")
result = model.predict_batch("./images", out_path="predictions.csv")
print(f"Saved {len(result.paths)} predictions to predictions.csv")

Use in a pipeline

pipeline.py
from vyntri import Vyntri
from pathlib import Path

# Load model
model = Vyntri.load("model.vyntri")

# Process a directory of new images
images = list(Path("./new_images").glob("*.jpg"))
for img in images:
    pred = model.predict(str(img))
    print(f"{img.name}: {pred.label} ({pred.confidence:.1%})")

Custom backbone integration

custom_backbone_integration.py
from vyntri import Vyntri
from vyntri.data import split

# Vyntri supports five registered backbone names:
# 'mobilenet_v3_small'  (576-d)  — default, fast
# 'resnet18'            (512-d)  — good balance
# 'resnet50'            (2048-d) — high capacity
# 'efficientnet_b0'     (1280-d) — efficient
# 'convnext_tiny'       (768-d)  — competitive

s = split("./my_dataset", train=0.7, test=0.2, seed=42)
model = Vyntri(backbone="efficientnet_b0")
model.fit(train=s.train, val=s.val)
print(f"Feature dim: {model.feature_dim_}")

Clear cache

clear_cache.py
from vyntri import Vyntri
from vyntri.data import split

s = split("./my_dataset", train=0.7, test=0.2, seed=42)
model = Vyntri()
model.fit(train=s.train, val=s.val)

# Clear cached features for this model's cache directory
deleted = model.clear_cache()
print(f"Deleted {deleted} cached files")