Spaces:
Sleeping
Sleeping
File size: 4,994 Bytes
0198505 a20001f 8518918 a20001f 8518918 cf5b520 74b913c 8518918 cf5b520 8518918 cf5b520 442a3b7 8518918 cf5b520 8518918 a20001f 8518918 cf5b520 8518918 a20001f 8518918 cf5b520 8185892 cf5b520 74b913c cf5b520 8518918 cf5b520 8518918 cf5b520 8518918 a20001f cf5b520 8518918 a20001f cf5b520 8518918 0198505 8518918 ae15986 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
import gradio as gr
import pandas as pd
import matplotlib.pyplot as plt
from Prediction import *
import os
from datetime import datetime
examples = []
if os.path.exists("assets/examples.txt"):
with open("assets/examples.txt", "r", encoding="utf8") as file:
for sentence in file:
sentence = sentence.strip()
examples.append(sentence)
else:
examples = [
"Games of the imagination teach us actions have consequences in a realm that can be reset.",
"But New Jersey farmers are retiring and all over the state, development continues to push out dwindling farmland.",
"He also is the Head Designer of The Design Trust so-to-speak, besides his regular job ..."
]
device = torch.device('cpu')
manager = model_factory("./models", device)
def single_sentence(sentence):
model_name = 'All_Data'
dct = manager[model_name]
model, tokenizer = dct['model'], dct['tokenizer']
predictions = predict_single(sentence, tokenizer, model, device)
predictions.sort(reverse=True)
return list(zip(LABEL_COLUMNS, predictions))
def csv_process(csv_file, attr="content"):
current_time = datetime.now()
formatted_time = current_time.strftime("%Y_%m_%d_%H_%M_%S")
data = pd.read_csv(csv_file.name)
data = data.reset_index()
os.makedirs('output', exist_ok=True)
outputs = []
model_name = 'All_Data'
dct = manager[model_name]
model, tokenizer = dct['model'], dct['tokenizer']
predictions = predict_csv(data, attr, tokenizer, model, device)
output_path = f"output/prediction_{model_name}_{formatted_time}.csv"
predictions.to_csv(output_path)
outputs.append(output_path)
return outputs
my_theme = gr.Theme.from_hub("JohnSmith9982/small_and_pretty")
with gr.Blocks(theme=my_theme, title='Murphy') as demo:
gr.HTML(
"""
<div style="display: flex; justify-content: center; align-items: center; text-align: center;">
<a href="https://github.com/xxx" style="margin-right: 20px; text-decoration: none; display: flex; align-items: center;">
</a>
<div>
<h1 >Place the title of the paper here</h1>
<h5 style="margin: 0;">If you like our project, please give us a star ✨ on Github for the latest update.</h5>
<div style="display: flex; justify-content: center; align-items: center; text-align: center;>
<a href="https://arxiv.org/abs/xx.xx"><img src="https://img.shields.io/badge/Arxiv-xx.xx-red"></a>
<a href='https://huggingface.co/spaces/cheesexuebao/murphy'><img src='https://img.shields.io/badge/Project_Page-Murphy/xxBert' alt='Project Page'></a>
<a href='https://github.com'><img src='https://img.shields.io/badge/Github-Code-blue'></a>
</div>
</div>
</div>
""")
with gr.Tab("Single Sentence"):
with gr.Row():
tbox_input = gr.Textbox(label="Input",
info="Please input a sentence here:")
gr.Markdown("""
# Detailed information about our model:
...
""")
tab_output = gr.DataFrame(label='Predictions:',
headers=["Label", "Probability"],
datatype=["str", "number"],
interactive=False)
with gr.Row():
button_ss = gr.Button("Submit", variant="primary")
button_ss.click(fn=single_sentence, inputs=[tbox_input], outputs=[tab_output])
gr.ClearButton([tbox_input, tab_output])
gr.Examples(
examples=examples,
inputs=tbox_input,
examples_per_page=len(examples)
)
with gr.Tab("Csv File"):
with gr.Row():
csv_input = gr.File(label="CSV File:",
file_types=['.csv'],
file_count="single"
)
csv_output = gr.File(label="Predictions:")
with gr.Row():
button = gr.Button("Submit", variant="primary")
button.click(fn=csv_process, inputs=[csv_input], outputs=[csv_output])
gr.ClearButton([csv_input, csv_output])
gr.Markdown("## Examples \n The incoming CSV must include the ``content`` field, which represents the text that needs to be predicted!")
gr.DataFrame(label='Csv input format:',
value=[[i, examples[i]] for i in range(len(examples))],
headers=["index", "content"],
datatype=["number","str"],
interactive=False
)
with gr.Tab("Readme"):
gr.Markdown(
"""
# Paper Name
# Authors
+ First author
+ Corresponding author
# Detailed Information
...
"""
)
demo.launch() |