jayanth7111's picture
Enable verbose errors in Gradio app
bb1c8db verified
raw
history blame
949 Bytes
import gradio as gr
import numpy as np
import onnxruntime as ort
from PIL import Image
sess = ort.InferenceSession("visionguard_simplified.onnx", providers=["CPUExecutionProvider"])
def detect_corruption(img: Image.Image):
img = img.resize((128,128)).convert("RGB")
arr = np.array(img).astype(np.float32)/255.0
mean = np.array([0.485,0.456,0.406],dtype=np.float32)
std = np.array([0.229,0.224,0.225],dtype=np.float32)
x = ((arr-mean)/std).transpose(2,0,1)[None,...]
logits = sess.run(None, {"input": x})[0]
prob = float(1/(1+np.exp(-logits[0,0])))
return {"clean": 1-prob, "corrupted": prob}
iface = gr.Interface(
fn=detect_corruption,
inputs=gr.Image(type="pil"),
outputs=gr.Label(num_top_classes=2, label="Corruption Score"),
title="VisionGuard Corruption Detector",
description="Upload a frame, get corruption probabilities."
)
if __name__=="__main__":
iface.launch(show_error=True)