ToletiSri commited on
Commit
9d0e777
1 Parent(s): 56c2f3a

Text inferencing implemented

Browse files
Files changed (1) hide show
  1. app.py +38 -2
app.py CHANGED
@@ -1,9 +1,45 @@
1
- import numpy as np
 
2
  import gradio as gr
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
 
4
 
5
  def textMode(text, count):
6
- return "In progress"
 
 
 
 
 
 
 
 
 
 
 
7
 
8
 
9
  def imageMode(image, question):
 
1
+ import torch
2
+ import torch.nn as nn
3
  import gradio as gr
4
+ from transformers import AutoModelForCausalLM, AutoTokenizer
5
+
6
+
7
+ class _MLPVectorProjector(nn.Module):
8
+ def __init__(
9
+ self, input_hidden_size: int, lm_hidden_size: int, num_layers: int, width: int
10
+ ):
11
+ super(_MLPVectorProjector, self).__init__()
12
+ self.mlps = nn.ModuleList()
13
+ for _ in range(width):
14
+ mlp = [nn.Linear(input_hidden_size, lm_hidden_size, bias=False)]
15
+ for _ in range(1, num_layers):
16
+ mlp.append(nn.GELU())
17
+ mlp.append(nn.Linear(lm_hidden_size, lm_hidden_size, bias=False))
18
+ self.mlps.append(nn.Sequential(*mlp))
19
+
20
+ def forward(self, x):
21
+ return torch.cat([mlp(x) for mlp in self.mlps], dim=-2)
22
+
23
+ model_name = "microsoft/phi-2"
24
+
25
+ phi2_text = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True,
26
+ torch_dtype = torch.float16)
27
+ tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
28
 
29
 
30
  def textMode(text, count):
31
+ count = int(count)
32
+ inputs = tokenizer(text, return_tensors="pt")
33
+ prediction = tokenizer.batch_decode(
34
+ phi2_text.generate(
35
+ **inputs,
36
+ max_new_tokens=500,
37
+ bos_token_id=tokenizer.bos_token_id,
38
+ eos_token_id=tokenizer.eos_token_id,
39
+ pad_token_id=tokenizer.pad_token_id
40
+ )
41
+ return prediction[0].rstrip('<|endoftext|>').rstrip("\n")[:count]
42
+
43
 
44
 
45
  def imageMode(image, question):