tclopess commited on
Commit
cbe02cc
·
verified ·
1 Parent(s): 48171eb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +49 -2
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)