AliNajafi's picture
updated
dae07c4
raw
history blame contribute delete
No virus
1.45 kB
import streamlit as st
import torch
from peft import (
PeftModel,
PeftConfig,
)
from transformers import AutoModelForSequenceClassification, AutoTokenizer
from Preprocessor import preprocess
peft_model = "VRLLab/TurkishBERTweet-Lora-SA"
peft_config = PeftConfig.from_pretrained(peft_model)
# loading Tokenizer
padding_side = "right"
tokenizer = AutoTokenizer.from_pretrained(
peft_config.base_model_name_or_path, padding_side=padding_side
)
if getattr(tokenizer, "pad_token_id") is None:
tokenizer.pad_token_id = tokenizer.eos_token_id
id2label_sa = {0: "negative", 2: "positive", 1: "neutral"}
turkishBERTweet_sa = AutoModelForSequenceClassification.from_pretrained(
peft_config.base_model_name_or_path,
return_dict=True,
num_labels=len(id2label_sa),
id2label=id2label_sa,
)
turkishBERTweet_sa = PeftModel.from_pretrained(turkishBERTweet_sa, peft_model)
st.title("TurkishBERTweet-Lora-SA")
st.write("Enter a sentence to analyze its sentiment:")
user_input = st.text_input("")
if user_input:
with torch.no_grad():
ids = tokenizer.encode_plus(preprocess(user_input), return_tensors="pt")
logits = turkishBERTweet_sa(**ids).logits
label_id = logits.argmax(-1).item()
confidence = logits.softmax(-1)[0, label_id].item()
st.write(f"Sentiment: {id2label_sa[label_id]}")
st.write(f"Confidence: {confidence:.2f}")