mareloraby commited on
Commit
e064bfa
·
1 Parent(s): ec4c669

Create new file

Browse files
Files changed (1) hide show
  1. app.py +48 -0
app.py ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import BertTokenizer, EncoderDecoderModel
2
+ import gradio as gr
3
+
4
+ tokenizerM = BertTokenizer.from_pretrained("mareloraby/BERTShared-PoetryGen-arV01")
5
+ bertSharedM = EncoderDecoderModel.from_pretrained("mareloraby/BERTShared-PoetryGen-arV01")
6
+ # bertSharedM.cuda()
7
+
8
+
9
+ def generate_response(text, k = 70, p = 0.9, nb = 4):
10
+ prompt = f"{text}"
11
+ encoded_prompt = tokenizerM.encode_plus(prompt, return_tensors = 'pt')#.to(device)
12
+ gneration = bertSharedM.generate(
13
+ input_ids = encoded_prompt.input_ids,
14
+ attention_mask = encoded_prompt.attention_mask,
15
+ do_sample = True,
16
+ top_k= k,
17
+ top_p = p,
18
+ num_beams= nb,
19
+ max_length =130,
20
+ repetition_penalty = 2.0,
21
+ no_repeat_ngram_size = 2,
22
+ early_stopping=True)
23
+
24
+ generated_text = tokenizerM.decode(gneration[0], skip_special_tokens=True)
25
+ bayts = generated_text.split("[BSEP]")
26
+ while("BSEP" not in bayts[-1]):
27
+ bayts = bayts[:-1]
28
+ bayts = bayts[:-1]
29
+ temp_poem = ''
30
+ for b in range(len(bayts)):
31
+ temp_line = bayts[b].split('[FSEP]')
32
+ temp_poem = temp_poem + temp_line[1] + ' - ' + temp_line[0] +'\n'
33
+
34
+ return temp_poem
35
+
36
+ iface = gr.Interface(fn=generate_response,
37
+ title = 'BERTShared - topic based generation',
38
+
39
+ inputs=[
40
+ gr.inputs.Radio(['حزينه','هجاء','عتاب','غزل','مدح','رومنسيه','دينية','وطنيه'],label='Choose Topic'),
41
+ gr.inputs.Slider(10, 200, step=10,default = 70, label='Top-K'),
42
+ gr.inputs.Slider(0.10, 0.99, step=0.02, default = 0.90, label='Top-P'),
43
+ gr.inputs.Slider(1, 20, step=1, default = 4, label='Beams'),
44
+
45
+ ],
46
+ outputs="text")
47
+
48
+ iface.launch()