Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -13,7 +13,6 @@ tweet = df['comment_text'][r.randint(0,1000)]
|
|
13 |
tokenizer = AutoTokenizer.from_pretrained("APJ23/MultiHeaded_Sentiment_Analysis_Model")
|
14 |
model = AutoModelForSequenceClassification.from_pretrained("APJ23/MultiHeaded_Sentiment_Analysis_Model")
|
15 |
|
16 |
-
# Define the classes and their corresponding labels
|
17 |
classes = {
|
18 |
0: 'Non-Toxic',
|
19 |
1: 'Toxic',
|
@@ -23,11 +22,14 @@ classes = {
|
|
23 |
5: 'Insult',
|
24 |
6: 'Identity Hate'
|
25 |
}
|
26 |
-
|
27 |
-
# Create a function to generate the toxicity predictions
|
28 |
@st.cache(allow_output_mutation=True)
|
29 |
-
|
30 |
-
|
|
|
|
|
|
|
|
|
|
|
31 |
def create_table(predictions):
|
32 |
data = {'Tweet': [], 'Highest Toxicity Class': [], 'Probability': []}
|
33 |
for tweet, prediction in predictions.items():
|
@@ -38,13 +40,11 @@ def create_table(predictions):
|
|
38 |
return df
|
39 |
|
40 |
st.title('Toxicity Prediction App')
|
41 |
-
|
42 |
if st.button('Predict'):
|
43 |
-
predicted_class_label, predicted_prob = predict_toxicity(
|
44 |
prediction_text = f'Prediction: {predicted_class_label} ({predicted_prob:.2f})'
|
45 |
st.write(prediction_text)
|
46 |
-
|
47 |
-
# Display the toxicity predictions in a table
|
48 |
predictions = {tweet_input: (predicted_class_label, predicted_prob)}
|
49 |
table = create_table(predictions)
|
50 |
st.table(table)
|
|
|
13 |
tokenizer = AutoTokenizer.from_pretrained("APJ23/MultiHeaded_Sentiment_Analysis_Model")
|
14 |
model = AutoModelForSequenceClassification.from_pretrained("APJ23/MultiHeaded_Sentiment_Analysis_Model")
|
15 |
|
|
|
16 |
classes = {
|
17 |
0: 'Non-Toxic',
|
18 |
1: 'Toxic',
|
|
|
22 |
5: 'Insult',
|
23 |
6: 'Identity Hate'
|
24 |
}
|
|
|
|
|
25 |
@st.cache(allow_output_mutation=True)
|
26 |
+
def prediction(tweet,model,tokenizer):
|
27 |
+
inputs = tokenizer(tweet, return_tensors="pt", padding=True, truncation=True)
|
28 |
+
outputs = model(**inputs)
|
29 |
+
predicted_class = torch.argmax(outputs.logits, dim=1)
|
30 |
+
predicted_prob = torch.softmax(outputs.logits, dim=1)[0][predicted_class].item()
|
31 |
+
return classes[predicted_class], predicted_prob
|
32 |
+
|
33 |
def create_table(predictions):
|
34 |
data = {'Tweet': [], 'Highest Toxicity Class': [], 'Probability': []}
|
35 |
for tweet, prediction in predictions.items():
|
|
|
40 |
return df
|
41 |
|
42 |
st.title('Toxicity Prediction App')
|
43 |
+
st.write(f'The random tweet select is {tweet}',tweet)
|
44 |
if st.button('Predict'):
|
45 |
+
predicted_class_label, predicted_prob = predict_toxicity(tweet, model, tokenizer)
|
46 |
prediction_text = f'Prediction: {predicted_class_label} ({predicted_prob:.2f})'
|
47 |
st.write(prediction_text)
|
|
|
|
|
48 |
predictions = {tweet_input: (predicted_class_label, predicted_prob)}
|
49 |
table = create_table(predictions)
|
50 |
st.table(table)
|