from transformers import AutoFeatureExtractor, EfficientNetForImageClassification import torch from PIL import Image import io import base64 def pipeline(image_bytes): image = Image.open(io.BytesIO(base64.b64decode(image_bytes))).convert('RGB') feature_extractor = AutoFeatureExtractor.from_pretrained(".") model = EfficientNetForImageClassification.from_pretrained(".") # Replace the classification head with a regression head model.classifier = torch.nn.Linear(model.classifier.in_features, 1) # Load the custom weights model.load_state_dict(torch.load("model.pt", map_location=torch.device('cpu'))) model.eval() inputs = feature_extractor(images=image, return_tensors="pt") with torch.no_grad(): outputs = model(**inputs) prediction = outputs.logits.item() # For regression, we directly use the output return {"prediction": float(prediction)} def run(raw_image_bytes): return pipeline(raw_image_bytes)