young141319/TextClassification
0
1import micropip
2await micropip.install("huggingface-hub==0.33.5")
3# 然后再安装你原本想装的包
4await micropip.install("transformers")
5
6import string
7import gradio as gr
8import requests
9import torch
10from transformers import (
11 AutoConfig,
12 AutoModelForSequenceClassification,
13 AutoTokenizer,
14)
15
16model_dir = "experiments"
17
18config = AutoConfig.from_pretrained(model_dir, num_labels=3, finetuning_task="text-classification")
19tokenizer = AutoTokenizer.from_pretrained(model_dir)
20model = AutoModelForSequenceClassification.from_pretrained(model_dir, config=config)
21
22def inference(input_text):
23 inputs = tokenizer.batch_encode_plus(
24 [input_text],
25 max_length=512,
26 pad_to_max_length=True,
27 truncation=True,
28 padding="max_length",
29 return_tensors="pt",
30 )
31
32 with torch.no_grad():
33 logits = model(**inputs).logits
34
35 predicted_class_id = logits.argmax().item()
36 output = model.config.id2label[predicted_class_id]
37 return output
38
39demo = gr.Interface(
40 fn=inference,
41 inputs=gr.Textbox(label="Input Text", scale=2, container=False),
42 outputs=gr.Textbox(label="Output Label"),
43 examples = [
44 ["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],
45 ["Lying Clinton sinking! Donald Trump singing: Let's Make America Great Again!", 0],
46 ],
47 title="Tutorial: BERT-based Text Classification",
48 )
49
50demo.launch(debug=True)