Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| import numpy as np | |
| import pandas as pd | |
| import os | |
| import torch | |
| import torch.nn as nn | |
| from transformers.activations import get_activation | |
| from transformers import AutoTokenizer, AutoModelForCausalLM | |
| from transformers import AutoTokenizer, AutoModel | |
| from transformers import GPTNeoXForCausalLM, GPTNeoXTokenizerFast | |
| import math | |
| import numpy as np | |
| st.title('GPT2:') | |
| device = torch.device("cuda" if torch.cuda.is_available() else "cpu") | |
| def get_model(): | |
| tokenizer = AutoTokenizer.from_pretrained("BigSalmon/InformalToFormalLincoln85Paraphrase") | |
| model = AutoModelForCausalLM.from_pretrained("BigSalmon/InformalToFormalLincoln85Paraphrase") | |
| return model, tokenizer | |
| model, tokenizer = get_model() | |
| g = """*** | |
| original: sports teams are profitable for owners. [MASK], their valuations experience a dramatic uptick. | |
| infill: sports teams are profitable for owners. ( accumulating vast sums / stockpiling treasure / realizing benefits / cashing in / registering robust financials / scoring on balance sheets ), their valuations experience a dramatic uptick. | |
| *** | |
| original:""" | |
| def score(tokens_tensor): | |
| loss=model(tokens_tensor, labels=tokens_tensor)[0] | |
| return np.exp(loss.cpu().detach().numpy()) | |
| def prefix_format(sentence): | |
| words = sentence.split() | |
| if "[MASK]" in sentence: | |
| words2 = words.index("[MASK]") | |
| #print(words2) | |
| output = ("<|SUF|> " + ' '.join(words[words2+1:]) + " <|PRE|> " + ' '.join(words[:words2]) + " <|MID|>") | |
| st.write(output) | |
| else: | |
| st.write("Add [MASK] to sentence") | |
| with st.form(key='my_form'): | |
| prompt = st.text_area(label='Enter sentence', value=g) | |
| submit_button = st.form_submit_button(label='Submit') | |
| if submit_button: | |
| with torch.no_grad(): | |
| tokens_tensor = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt") | |
| perplex = score(tokens_tensor) | |
| st.write(perplex) |