Spaces:
Runtime error
Runtime error
from oml.models.vit.vit import ViTExtractor | |
from oml.registry.transforms import get_transforms_for_pretrained | |
import torch | |
from PIL import Image | |
class EmbeddingModelOML: | |
def __init__(self, model_path: str = "../models/vits8-stamp.ckpt", arch: str = "vits8", normalise_features: bool = False): | |
self.device = 'cuda' if torch.cuda.is_available() else 'cpu' | |
self.extractor = ViTExtractor(model_path, arch=arch, normalise_features=normalise_features).to(self.device) | |
self.transform, _ = get_transforms_for_pretrained("vits8_dino") | |
def __call__(self, image: Image.Image) -> torch.Tensor: | |
img_tensor = self.transform(image).cuda().unsqueeze(0) if self.device == "cuda" else self.transform(image).unsqueeze(0) | |
features = self.extractor(img_tensor) | |
return features | |