|
import gradio as gr |
|
from transformers import AutoModelForSequenceClassification, AutoTokenizer, AutoConfig |
|
import json |
|
|
|
with open("tag_map.json") as tag_map_file: |
|
tag_map = json.load(tag_map_file) |
|
|
|
reverse_map = {j: i for i, j in tag_map.items()} |
|
|
|
model_name_or_path = "gpucce/ProSolAdv_full_train" |
|
|
|
config = AutoConfig.from_pretrained(model_name_or_path) |
|
config.num_classes = len(tag_map) |
|
model = AutoModelForSequenceClassification.from_pretrained( |
|
model_name_or_path, config=config |
|
) |
|
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path) |
|
|
|
|
|
def classify(text): |
|
return ( |
|
reverse_map[ |
|
model(**tokenizer(text, return_tensors="pt")).logits.argmax(-1).item() |
|
] |
|
.replace("_", " ") |
|
.capitalize() |
|
) |
|
|
|
|
|
iface = gr.Interface(fn=classify, inputs="text", outputs="text") |
|
iface.launch() |
|
|