ilan541's picture
Update app.py
99116b6
Raw History Blame Contribute Delete
1.4 kB
import tensorflow as tf
from transformers import AutoTokenizer, TFAutoModelForSequenceClassification
import gradio as gr
import numpy as np
from scipy.special import softmax
from transformers import TFAutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained('roberta-base')
access_token = "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"
model = TFAutoModelForSequenceClassification.from_pretrained("ilan541/ssid_classification", use_auth_token=access_token)
def get_probs(text):
inp = tokenizer(text,
truncation=True,
padding='max_length',
max_length=30,
return_tensors='tf')
y_pred = model(inp)
return y_pred.logits
def predict(your_text):
y_pred_logits = get_probs(your_text)
labels = ['Bus', 'Portable Device', 'Stationary Device', 'Vehicle']
num_labels = len(labels)
# # print logits
# for i in range(num_labels):
# print(f"logit - {labels[i]}: {y_pred_logits[:,i][0]:.4f}")
# print('\n')
# # print probas
y_probs = softmax(y_pred_logits)[0]
# for i in range(num_labels):
# print(f"prob - {labels[i]}: {y_probs[i]:.4f}")
# print('\n')
#
# print predicted class
i = np.argmax(y_pred_logits)
return f"Predicted class: {labels[i]} with proba {y_probs[i]:.4f}\n{labels}{y_probs}"
iface = gr.Interface(fn=predict, inputs="text", outputs="text")
iface.launch()