Spaces:
Runtime error
Runtime error
File size: 3,934 Bytes
7e6d4d1 f957ae9 c2dbaac 7e6d4d1 70b4cc0 7f79884 f957ae9 c2dbaac 0754326 c2dbaac 7e6d4d1 70b4cc0 4c740cc 7e6d4d1 012dca9 d2827b6 7e6d4d1 c2dbaac 7e6d4d1 70b4cc0 d2827b6 c2dbaac d2827b6 012dca9 f957ae9 c2dbaac 7e6d4d1 70b4cc0 012dca9 d2827b6 f957ae9 8a39aa7 |
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 |
# from transformers import AutoModelWithLMHead, AutoTokenizer
# Translate
from transformers import T5ForConditionalGeneration, T5Tokenizer
import gradio as grad
# make a question
# text2text_tkn = AutoTokenizer.from_pretrained('mrm8488/t5-base-finetuned-question-generation-ap')
# mdl = AutoModelWithLMHead.from_pretrained('mrm8488/t5-base-finetuned-question-generation-ap')
# summarize
# text2text_tkn = AutoTokenizer.from_pretrained('deep-learning-analytics/wikihow-t5-small')
# mdl = AutoModelWithLMHead.from_pretrained('deep-learning-analytics/wikihow-t5-small')
# translate, sentiment
text2text_tkn = T5Tokenizer.from_pretrained('t5-small')
mdl = T5ForConditionalGeneration.from_pretrained('t5-small')
def text2text(context, answer):
input_text = "answer: %s context: %s </s>" % (answer, context)
features = text2text_tkn([input_text], return_tensors = 'pt')
output = mdl.generate(
input_ids = features['input_ids'],
attention_mask = features['attention_mask'],
max_length = 64
)
response = text2text_tkn.decode(output[0])
return response
def text2text_summary(para):
initial_txt = para.strip().replace("\n", "")
tkn_text = text2text_tkn.encode(initial_txt, return_tensors = 'pt')
tkn_ids = mdl.generate(
tkn_text,
max_length = 250,
num_beams = 5,
repetition_penalty = 2.5,
early_stopping = True
)
response = text2text_tkn.decode(tkn_ids[0], skip_special_tokens = True)
return response
def text2text_translate(text):
inp = "translate English to German:: " + text
enc = text2text_tkn(inp, return_tensors = 'pt')
tokens = mdl.generate(**enc)
response = text2text_tkn.batch_decode(tokens)
return response
def text2text_sentiment(text):
inp = "sst2 sentence: " + text
enc = text2text_tkn(inp, return_tensors = 'pt')
tokens = mdl.generate(**enc)
response = text2text_tkn.batch_decode(tokens)
return response
def text2text_acceptable_sentence(text):
inp = "cola sentence: " + text
enc = text2text_tkn(inp, return_tensors = 'pt')
tokens = mdl.generate(**enc)
response = text2text_tkn.batch_decode(tokens)
return response
def text2text_paraphrase(sentence1, sentence2):
inp1 = "mrpc sentence1: " + sentence1
inp2 = "sentence2: " + sentence2
combined_inp = inp1 + " " + inp2
enc = text2text_tkn(combined_inp, return_tensors = 'pt')
tokens = mdl.generate(**enc)
response = text2text_tkn.batch_decode(tokens)
return response
# question
# context = grad.Textbox(lines = 10, label = 'English', placeholder = 'Context')
# ans = grad.Textbox(lines = 1, label = 'Answer')
# out = grad.Textbox(lines = 1, label = 'Generated Question')
# summary
# para = grad.Textbox(lines = 10, label = 'Paragraph', placeholder = 'Copy paragraph')
# out = grad.Textbox(lines = 1, label = 'Summary')
# tranlate
# para = grad.Textbox(lines = 1, label = 'English Text', placeholder = 'Text in English')
# out = grad.Textbox(lines = 1, label = 'German Translation')
# sentiment
# para = grad.Textbox(lines = 1, label = 'English Text', placeholder = 'Text in English')
# out = grad.Textbox(lines = 1, label = 'Sentiment')
# # grammatical acceptance
# para = grad.Textbox(lines = 1, label = 'English Text', placeholder = 'Text in English')
# out = grad.Textbox(lines = 1, label = 'Whether the sentence is acceptable or not')
# paraphrase
sent1 = grad.Textbox(lines = 1, label = 'Sentence1', placeholder = 'Text in English')
sent2 = grad.Textbox(lines = 1, label = 'Sentence2', placeholder = 'Text in English')
out = grad.Textbox(lines = 1, label = 'Paraphrase')
grad.Interface(
# text2text,
# inputs = [context, ans],
# text2text_summary,
# text2text_translate,
# text2text_sentiment,
# text2text_acceptable_sentence,
text2text_paraphrase,
# inputs = para,
inputs = [sent1, sent2],
outputs = out
).launch() |