SaraHossam commited on
Commit
d0dcfdb
·
1 Parent(s): 3c6d3d8

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -0
app.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import torch
3
+ from transformers import PegasusForConditionalGeneration, PegasusTokenizer
4
+
5
+ model_name = 'tuner007/pegasus_paraphrase'
6
+ torch_device = 'cuda' if torch.cuda.is_available() else 'cpu'
7
+ tokenizer = PegasusTokenizer.from_pretrained(model_name)
8
+ model = PegasusForConditionalGeneration.from_pretrained(model_name).to(torch_device)
9
+
10
+ def paraphrase(text):
11
+ from sentence_splitter import SentenceSplitter, split_text_into_sentences
12
+ import torch
13
+ from transformers import PegasusForConditionalGeneration, PegasusTokenizer
14
+ model_name = 'tuner007/pegasus_paraphrase'
15
+ torch_device = 'cuda' if torch.cuda.is_available() else 'cpu'
16
+ tokenizer = PegasusTokenizer.from_pretrained(model_name)
17
+ model = PegasusForConditionalGeneration.from_pretrained(model_name).to(torch_device)
18
+ def get_response(input_text,num_return_sequences):
19
+ batch = tokenizer.prepare_seq2seq_batch([input_text],truncation=True,padding='longest',max_length=60, return_tensors="pt").to(torch_device)
20
+ translated = model.generate(**batch,max_length=60,num_beams=10, num_return_sequences=num_return_sequences, temperature=2.0)
21
+ tgt_text = tokenizer.batch_decode(translated, skip_special_tokens=True)
22
+ return tgt_text
23
+ splitter = SentenceSplitter(language='en')
24
+ sentence_list = splitter.split(text)
25
+ res = ''
26
+ for i in sentence_list:
27
+ a = get_response(i,1)
28
+ cur = ''
29
+ for j in a:
30
+ cur += j
31
+ cur += ' '
32
+ cur += '.'
33
+ res += cur
34
+ return res
35
+
36
+
37
+ iface = gr.Interface(fn=paraphrase, inputs="text", outputs="text")
38
+ iface.launch()