Spaces:
Runtime error
Runtime error
File size: 1,061 Bytes
f70a0a2 351bc7e bf8d62d f70a0a2 db06053 bf8d62d db06053 351bc7e bf8d62d db06053 351bc7e bf8d62d 351bc7e db06053 351bc7e bf8d62d f70a0a2 bf8d62d f70a0a2 bf8d62d f70a0a2 7a5943a db06053 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | from fastai.vision.all import *
import gradio as gr
from pathlib import Path
import zipfile
# Extraer dataset.zip al inicio
with zipfile.ZipFile("dataset.zip", 'r') as zip_ref:
zip_ref.extractall(".") # crea la carpeta dataset/ directamente
# Ruta relativa al dataset extraído
path = Path("dataset")
# Crear DataLoaders desde las subcarpetas de clases
dls = ImageDataLoaders.from_folder(
path,
valid_pct=0.2,
seed=42,
item_tfms=Resize(224)
)
# Cargar el modelo .pth
learn = vision_learner(dls, resnet34)
learn.load("model_lab") # si lo pusiste en models/, usar "models/model_lab"
# Tomar automáticamente las clases desde los DataLoaders
labels = learn.dls.vocab
# Función de predicción
def predict(img):
img = PILImage.create(img)
_, _, probs = learn.predict(img)
return {labels[i]: float(probs[i]) for i in range(len(labels))}
# Interfaz Gradio
demo = gr.Interface(
fn=predict,
inputs=gr.Image(type="filepath"),
outputs=gr.Label(num_top_classes=3),
title="Lab Utensils Classifier"
)
demo.launch()
|