ilan541's picture
Update app.py
99116b6
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()