Spaces:
Sleeping
Sleeping
File size: 1,014 Bytes
cc4ddbf | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | import torch
from transformers import (
AutoTokenizer,
AutoModelForSequenceClassification
)
from labels import LABELS
MODEL_PATH = "toxiguard-bert"
device = torch.device(
"cuda" if torch.cuda.is_available() else "cpu"
)
tokenizer = AutoTokenizer.from_pretrained(
MODEL_PATH
)
model = AutoModelForSequenceClassification.from_pretrained(
MODEL_PATH
)
model.to(device)
model.eval()
def predict_toxicity(text):
inputs = tokenizer(
text,
return_tensors="pt",
truncation=True,
max_length=256,
padding=True
)
inputs = {
key: value.to(device)
for key, value in inputs.items()
}
with torch.no_grad():
outputs = model(**inputs)
probs = torch.sigmoid(
outputs.logits
).cpu().numpy()[0]
results = {}
for i, prob in enumerate(probs):
results[LABELS[i]] = round(
float(prob), 4
)
return results |