File size: 974 Bytes
9f46ab9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import gradio as gr
from transformers import AutoImageProcessor, AutoModelForImageClassification
from PIL import Image
import torch

model_name = "prithivMLmods/open-deepfake-detection"
processor = AutoImageProcessor.from_pretrained(model_name)
model = AutoModelForImageClassification.from_pretrained(model_name)
model.eval()

def predict(img):
    inputs = processor(images=img, return_tensors="pt")
    with torch.no_grad():
        outputs = model(**inputs)
        logits = outputs.logits
        probs = torch.softmax(logits, dim=1).squeeze()
        is_ai = bool(torch.argmax(probs).item())
        confidence = float(probs[1].item()) if is_ai else float(probs[0].item())
    message = "AI-generated image detected." if is_ai else "Image appears original/authentic."
    return {"is_ai_generated": is_ai, "confidence": confidence, "message": message}

iface = gr.Interface(fn=predict, inputs=gr.Image(type="pil"), outputs="json", allow_flagging="never")
iface.launch()