| import string |
| import gradio as gr |
| import requests |
| import torch |
| from transformers import ( |
| AutoConfig, |
| AutoModelForSequenceClassification, |
| AutoTokenizer, |
| ) |
|
|
| model_dir = "my-bert-model" |
|
|
| config = AutoConfig.from_pretrained(model_dir, num_labels=3, finetuning_task="text-classification") |
| tokenizer = AutoTokenizer.from_pretrained(model_dir) |
| model = AutoModelForSequenceClassification.from_pretrained(model_dir, config=config) |
|
|
| def inference(input_text): |
| inputs = tokenizer.batch_encode_plus( |
| [input_text], |
| max_length=512, |
| pad_to_max_length=True, |
| truncation=True, |
| padding="max_length", |
| return_tensors="pt", |
| ) |
| |
| with torch.no_grad(): |
| logits = model(**inputs).logits |
| |
| predicted_class_id = logits.argmax().item() |
| output = model.config.id2label[predicted_class_id] |
| return output |
|
|
| demo = gr.Interface( |
| fn=inference, |
| inputs=gr.Textbox(label="Input Text", scale=2, container=False), |
| outputs=gr.Textbox(label="Output Label"), |
| examples = [ |
| ["My last two weather pics from the storm on August 2nd. People packed up real fast after the temp dropped and winds picked up.", 1], |
| ["Lying Clinton sinking! Donald Trump singing: Let's Make America Great Again!", 0], |
| ], |
| title="Tutorial: BERT-based Text Classificatioin", |
| ) |
|
|
| demo.launch(debug=True) |