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 = "roberta-base" | |
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() | |
] | |
iface = gr.Interface(fn=classify, inputs="text", outputs="text") | |
iface.launch() | |