Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
import gradio as gr
|
| 2 |
import onnxruntime as rt
|
| 3 |
from transformers import AutoTokenizer
|
| 4 |
import torch, json
|
|
@@ -23,4 +23,51 @@ def classify_movie_genre(sinopse):
|
|
| 23 |
|
| 24 |
label = gr.outputs.Label(num_top_classes=5)
|
| 25 |
iface = gr.Interface(fn=classify_movie_genre, inputs="text", outputs=label)
|
| 26 |
-
iface.launch(inline=False)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""import gradio as gr
|
| 2 |
import onnxruntime as rt
|
| 3 |
from transformers import AutoTokenizer
|
| 4 |
import torch, json
|
|
|
|
| 23 |
|
| 24 |
label = gr.outputs.Label(num_top_classes=5)
|
| 25 |
iface = gr.Interface(fn=classify_movie_genre, inputs="text", outputs=label)
|
| 26 |
+
iface.launch(inline=False)"""
|
| 27 |
+
|
| 28 |
+
import gradio as gr
|
| 29 |
+
import onnxruntime as rt
|
| 30 |
+
from transformers import AutoTokenizer
|
| 31 |
+
import torch, json
|
| 32 |
+
|
| 33 |
+
tokenizer = AutoTokenizer.from_pretrained("neuralmind/bert-large-portuguese-cased")
|
| 34 |
+
with open("genre_types_encoded.json", "r") as fp:
|
| 35 |
+
encode_genre_types = json.load(fp)
|
| 36 |
+
|
| 37 |
+
genres = list(encode_genre_types.keys())
|
| 38 |
+
|
| 39 |
+
inf_session = rt.InferenceSession("movie-classifier-quantized.onnx")
|
| 40 |
+
input_name = inf_session.get_inputs()[0].name
|
| 41 |
+
output_name = inf_session.get_outputs()[0].name
|
| 42 |
+
|
| 43 |
+
def classify_movie_genre(sinopse):
|
| 44 |
+
input_ids = tokenizer(sinopse)["input_ids"][:512]
|
| 45 |
+
logits = inf_session.run([output_name], {input_name: [input_ids]})[0]
|
| 46 |
+
logits = torch.FloatTensor(logits)
|
| 47 |
+
probs = torch.sigmoid(logits)[0]
|
| 48 |
+
return dict(zip(genres, map(float, probs)))
|
| 49 |
+
|
| 50 |
+
label = gr.outputs.Label(num_top_classes=5)
|
| 51 |
+
|
| 52 |
+
sample_synopses = [
|
| 53 |
+
"Um grupo de amigos enfrenta um perigoso monstro sobrenatural em uma pequena cidade.", # Horror
|
| 54 |
+
"Um casal de detetives investiga uma série de assassinatos misteriosos em uma grande metrópole.", # Thriller
|
| 55 |
+
"Uma jovem embarca em uma jornada de autodescoberta em um mundo fantástico.", # Fantasy
|
| 56 |
+
"Um astronauta se esforça para sobreviver em uma missão espacial que deu errado.", # Sci-Fi
|
| 57 |
+
"Uma comédia romântica sobre duas pessoas que se apaixonam apesar de suas diferenças.", # Romance
|
| 58 |
+
]
|
| 59 |
+
|
| 60 |
+
iface = gr.Interface(
|
| 61 |
+
fn=classify_movie_genre,
|
| 62 |
+
inputs=[gr.Textbox(lines=5, label="Digite a sinopse do filme ou selecione um exemplo:")],
|
| 63 |
+
outputs=label,
|
| 64 |
+
)
|
| 65 |
+
|
| 66 |
+
# Add a dropdown menu of sample synopses
|
| 67 |
+
iface.components["inputs"][0].add_option(
|
| 68 |
+
"Exemplo de Sinopses",
|
| 69 |
+
sample_synopses,
|
| 70 |
+
value="Um grupo de amigos enfrenta um perigoso monstro sobrenatural em uma pequena cidade.",
|
| 71 |
+
)
|
| 72 |
+
|
| 73 |
+
iface.launch(inline=False)
|