webkal88 / utils /model.py
Clemenz88's picture
Upload 5 files
cbd7eaa verified
raw
history blame contribute delete
770 Bytes
from transformers import AutoImageProcessor, AutoModelForImageClassification
import torch
def load_model():
processor = AutoImageProcessor.from_pretrained("microsoft/beit-base-patch16-224")
model = AutoModelForImageClassification.from_pretrained("microsoft/beit-base-patch16-224")
return processor, model
def classify_food(image, processor, model):
from PIL import Image
import numpy as np
inputs = processor(images=Image.fromarray(np.array(image)), return_tensors="pt")
with torch.no_grad():
logits = model(**inputs).logits
predicted_class_idx = logits.argmax(-1).item()
label = model.config.id2label[predicted_class_idx]
confidence = logits.softmax(dim=-1)[0, predicted_class_idx].item()
return label, confidence