jayanth7111's picture
Force verbose + debug errors in Gradio app
06295db verified
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__":
# Force both verbose errors and debug-level logs
iface.launch(show_error=True, debug=True)