alramil commited on
Commit
429812c
·
verified ·
1 Parent(s): c230e8f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -19
app.py CHANGED
@@ -1,25 +1,21 @@
 
1
  import gradio as gr
2
- from fastai.vision.all import load_learner, PILImage
3
 
4
- # 1. Carga directa de los pesos en un learner preconfigurado
5
- learn = load_learner('export.pkl') if Path('export.pkl').exists() \
6
- else load_learner('model.pkl') # por si lo quieres probar
7
 
8
- # 2. O, si usas la opción 2 con .save():
9
- # from fastai.vision.all import cnn_learner, resnet34, imagenet_stats
10
- # learn = cnn_learner(dls=None, arch=resnet34, metrics=[], cbs=[])
11
- # learn.load('tobacco_weights')
12
 
13
- def predict_image(img):
14
- # img ya es PILImage si usas type="pil"
15
- pred, idx, probs = learn.predict(PILImage.create(img))
16
- return {str(pred): float(probs[idx])}
17
 
18
- iface = gr.Interface(
19
- fn=predict_image,
20
- inputs=gr.Image(type="pil", label="Sube una imagen"),
21
- outputs=gr.Label(num_top_classes=3, label="Predicciones"),
22
- )
23
 
24
- if __name__ == "__main__":
25
- iface.launch()
 
 
 
 
 
 
 
 
1
+ from huggingface_hub import from_pretrained_fastai
2
  import gradio as gr
3
+ from fastai.vision.all import *
4
 
 
 
 
5
 
 
 
 
 
6
 
7
+ # repo_id = "YOUR_USERNAME/YOUR_LEARNER_NAME"
8
+ repo_id = "alramil/Practica1"
 
 
9
 
10
+ learner = from_pretrained_fastai(repo_id)
11
+ labels = learner.dls.vocab
 
 
 
12
 
13
+ # Definimos una función que se encarga de llevar a cabo las predicciones
14
+ def predict(img):
15
+ #img = PILImage.create(img)
16
+ pred,pred_idx,probs = learner.predict(img)
17
+ return {labels[i]: float(probs[i]) for i in range(len(labels))}
18
+
19
+ # Creamos la interfaz y la lanzamos.
20
+ gr.Interface(fn=predict, inputs=gr.inputs.Image(shape=(128, 128)), outputs=gr.outputs.Label(num_top_classes=3),examples=['fry.jpg','leela.jpg']).launch(share=False)
21
+