File size: 1,973 Bytes
d34a682 611a628 74a3db1 1de48e6 d34a682 a95ce8e b2c5b3d 611a628 d34a682 f6c1dd0 4e460f3 a95ce8e 1681c02 a95ce8e d34a682 1681c02 f1b97af 4e460f3 1681c02 f1b97af 49a1e99 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 39 40 41 42 43 |
import transformers
from transformers import GraphormerForGraphClassification
from transformers.models.graphormer.collating_graphormer import preprocess_item
import gradio as gr
import json
import os
try:
import toml
except ImportError:
os.system('pip install toml')
import toml
print('todo en orden')
model = GraphormerForGraphClassification.from_pretrained("PedroLancharesSanchez/graph-regression")
def predict(instancia):
print(instancia)
instancia=json.loads(instancia)
instancia_preprocesada=preprocess_item(instancia)
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())
ejemplos = '''{"node_feat": [[0],[0],[0],[0],[0],[0],[0],[0],[1],[0],[0],[0],[0],[1],[2],[0],[0],[0],[0],[0],[0],[3],[0],[0]],
"edge_index": [[0,1,1,1,1,2,3,4,4,4,5,5,6,6,7,7,7,8,8,9,9,10,10,10,11,11,12,12,12,13,14,14,15,15,15,16,16,17,17,18,18,19,19,20,20,20,21,22,22,22,23,23]],
"edge_attr": [[1],[1],[1],[1],[1],[1],[1],[1],[2],[1],[2],[1],[1],[2],[2],[1],[1],[1],[1],[1],[2],[2],[1],[1],[1],[1],[1],[2],[1],[2],[1],[1],[1],[2],[1],[2],[1],[1],[2],[2],[1],[1],[2],[1],[2],[1],[1],[1],[1],[2],[1],[2]],
"y": [3.1381945610046387],
"num_nodes": 24}'''
# Crear la interfaz Gradio
interfaz = gr.Interface(fn=predict, inputs="file", outputs='text', examples=['grafo1.json'])
interfaz.launch(share=False)
|