PedroLancharesSanchez's picture
Update app.py
0833194 verified
raw
history blame contribute delete
No virus
1.43 kB
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)