bias-detector / inference.py
mjwagerman's picture
new model, trained on 36000 articles from allsides
d4515d7
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
model_path = "./training/bert-allsides-bias-detector/checkpoint-10494"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForSequenceClassification.from_pretrained(model_path)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
label_mapping = {0: "Left", 1: "Center", 2: "Right"}
def predict_bias(text):
"""Predicts the political bias of the given text."""
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=512).to(device)
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
predicted_class = torch.argmax(logits, dim=-1).item()
return label_mapping[predicted_class]
if __name__ == "__main__":
while True:
text = input("\nEnter text to classify (or type 'exit' to quit): ")
if text.lower() == "exit":
break
bias_label = predict_bias(text)
print(f"Predicted Bias: {bias_label}")