File size: 1,433 Bytes
d34a682
611a628
74a3db1
1de48e6
d34a682
a95ce8e
e74f538
b2c5b3d
 
 
 
 
 
 
0833194
d34a682
 
 
d6d77b8
 
 
a95ce8e
 
 
 
 
 
 
 
1681c02
a95ce8e
 
 
d34a682
f1b97af
0833194
f1b97af
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

import transformers
from transformers import GraphormerForGraphClassification
from transformers.models.graphormer.collating_graphormer import preprocess_item
import gradio as gr
import json
import torch

import os 
try:
    import toml
except ImportError:
    os.system('pip install toml')
    import toml

model = GraphormerForGraphClassification.from_pretrained("PedroLancharesSanchez/graph-regression")

def predict(instancia):
    with open(instancia, "r") as archivo:
        datos=json.load(archivo)
    instancia_preprocesada=preprocess_item(datos)
    inputs={}
    inputs['input_nodes'] = torch.tensor([instancia_preprocesada['input_nodes']])
    inputs['input_edges'] = torch.tensor([instancia_preprocesada['input_edges']])
    inputs['attn_bias'] = torch.tensor([instancia_preprocesada['attn_bias']])
    inputs['in_degree'] = torch.tensor([instancia_preprocesada['in_degree']])
    inputs['out_degree'] = torch.tensor([instancia_preprocesada['out_degree']])
    inputs['spatial_pos'] = torch.tensor([instancia_preprocesada['spatial_pos']])
    inputs['attn_edge_type'] = torch.tensor([instancia_preprocesada['attn_edge_type']])
    print(inputs)
    with torch.no_grad():
        logits = model(**inputs).logits
    return str(logits.item())

# Crear la interfaz Gradio
interfaz = gr.Interface(fn=predict, inputs="file", outputs='text', examples=['grafo1.json','grafo2.json','grafo3.json'])
interfaz.launch(share=False)