Neu256 commited on
Commit
f0350df
·
verified ·
1 Parent(s): 2619ceb

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -0
app.py ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import torch
3
+ import numpy as np
4
+ from model import Transformer
5
+ from transformers import AutoTokenizer # pip install transformers
6
+ from utils import (
7
+ DEVICE,
8
+ DROPOUT,
9
+ NUM_EMBED,
10
+ NUM_HEAD,
11
+ NUM_LAYER,
12
+ encode,
13
+ decode
14
+ )
15
+
16
+ tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
17
+ vocab_size = tokenizer.vocab_size
18
+
19
+ # train a new model
20
+ model = Transformer(
21
+ vocab_size=vocab_size,
22
+ num_embed=NUM_EMBED,
23
+ block_size=BLOCK_SIZE,
24
+ num_heads=NUM_HEAD,
25
+ num_layers=NUM_LAYER,
26
+ dropout=DROPOUT
27
+ )
28
+ # load model to GPU if available
29
+ m = model.to(DEVICE)
30
+ # print the number of parameters in the model
31
+
32
+ m.load_state_dict(torch.load("base_model_1.pth", map_location=torch.device(DEVICE)))
33
+ m.eval()
34
+
35
+ #print(
36
+ # "Model with {:.2f}M parameters".format(sum(p.numel() for p in m.parameters()) / 1e6)
37
+ #)
38
+ def model_generate(text, number, TEMPERATURE, TOP_K):
39
+ context = encode(str(text), tokenizer).unsqueeze(0).to(DEVICE)
40
+
41
+ return decode(enc_sec=m.generate(idx=context, max_new_tokens=number, temperature = TEMPERATURE, top_k = TOP_K)[0], tokenizer=tokenizer)
42
+
43
+ iface = gr.Interface(fn=model_generate, inputs=["text", gr.Slider(10, 1000), gr.Slider(0, 1), gr.Slider(0, 1)], outputs="text")
44
+ iface.launch()