File size: 1,021 Bytes
45a5976
720c3ac
45a5976
720c3ac
 
 
45a5976
 
720c3ac
6cbc51f
 
 
 
 
 
 
720c3ac
 
6cbc51f
78166d7
dd65f3e
f29f2c3
78166d7
bd942a7
 
 
 
 
 
36b57c6
6cadfd4
3b5f4b2
7daf7df
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
from huggingface_hub import from_pretrained_fastai
import gradio as gr
from fastai.text.all import *

# repo_id = "YOUR_USERNAME/YOUR_LEARNER_NAME"
repo_id = "aribanez/ag-news-classifier"
learner = from_pretrained_fastai(repo_id)
labels = learner.dls.vocab[1] # ['World', 'Sports', 'Business', 'Sci/Tech']

mapping = {
    0: "World",
    1: "Sports",
    2: "Business",
    3: "Sci/Tech"
}

def predict(text):
    pred, pred_idx, probs = learner.predict(text)
    return {mapping[i]: float(probs[i]) for i in range(len(mapping))}

with open('examples.txt', 'r', encoding='utf-8') as f:
    examples = f.readlines()

gr.Interface(
    fn=predict,
    inputs=gr.Textbox(lines=4, placeholder="Escribe la cabecera de una noticia o artículo..."),
    outputs=gr.Label(num_top_classes=4),
    title="Clasificador AG-News",
    description="Clasifica noticias entre World, Sports, Business o Sci/Tech utilizando ULMFiT + FastAI.",
    examples=examples,
    examples_per_page=len(examples),
    cache_examples=False
).launch()