ItsNikolor's picture
Update app.py
6e32aa8
raw
history blame
1.75 kB
import streamlit as st
# import torch
# from transformers import AutoModelForSequenceClassification, AutoTokenizer
def combine_title_summary(title, summary):
return "title: " + title + " summary: " + summary
tag2ind = {
"bio": 0,
"physics": 1,
"math": 2,
"cs": 3,
}
# @st.cache_resource
# def load_model():
# device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# # assert torch.cuda.is_available()
# tokenizer = AutoTokenizer.from_pretrained("distilbert/distilbert-base-cased")
# model = AutoModelForSequenceClassification.from_pretrained(
# "./my_model/checkpoint-513"
# ).to(device)
# return tokenizer, model
# tokenizer, model = load_model()
# def run_model(model, tokenizer, title, summary):
# text = combine_title_summary(title, summary)
# tokens_info = tokenizer(
# text,
# padding=False,
# truncation=True,
# return_tensors="pt",
# )
# model.eval()
# model.cpu()
# with torch.no_grad():
# out = model(**tokens_info)
# probs = torch.nn.functional.softmax(out.logits, dim=-1)[0]
# result = f"Text: `{text}`\nPrediction (prob): \n" + "\n".join(
# [f"{tag}={tag_prob}" for tag, tag_prob in zip(tag2ind, probs)]
# )
# return result
title = st.text_input(label="Title", value="")
abstract = st.text_input(label="Abstract", value="")
if st.button("Submit"):
if title == "" and abstract == "":
st.error("At least one of title or abstract must be provided")
else:
result = combine_title_summary(title, abstract)
st.success(result)
# result = run_model(model, tokenizer, title, abstract)
# st.success(result)