Spaces:
Sleeping
Sleeping
import pathlib | |
import gradio as gr | |
# to solve the mismatch between windows (local) system and huggingspace (linux) | |
import platform | |
plt = platform.system() | |
if plt == 'Linux': pathlib.WindowsPath = pathlib.PosixPath | |
elif plt == 'Windows': pathlib.PosixPath = pathlib.WindowsPath | |
from fastai.vision.all import * | |
class_names = ["resistor", "bipolar transistor", "mosfet", "capacitor", "inductor", "wire", "led", "diode", "thermistor", "switch", "battery", "hammer", "screwdriver", "scissors", "wrench", "mallet", "axe"] | |
learn = load_learner('model.pkl') | |
labels = learn.dls.vocab | |
def predict(img): | |
img = PILImage.create(img) | |
pred,pred_idx,probs = learn.predict(img) | |
return {labels[i]: float(probs[i]) for i in range(len(labels))} | |
iface = gr.Interface( | |
fn=predict, | |
inputs=gr.components.Image(shape=(224, 224)), | |
outputs=gr.components.Label(num_top_classes=3), | |
description="Tool Classifier", | |
article=f"<h1>Class Names</h1><br><p style='text-align: center'>{', '.join(class_names)}</p>", | |
examples=[["mosfet.jpg"], ["screwdriver.jpg"], ["hammel.png"], ["led.jpg"]], | |
live=True, | |
) | |
iface.launch(enable_queue=True) | |