jcrissa commited on
Commit
88fdb7b
·
1 Parent(s): 71148ae

edit app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -1
app.py CHANGED
@@ -6,13 +6,21 @@ from transformers import AutoTokenizer
6
  # Load your fine-tuned Phi-3 model from Hugging Face
7
  MODEL_NAME = "jcrissa/phi3-new-t2i"
8
 
 
 
 
9
  def load_phi3_model():
 
10
  model, tokenizer = FastLanguageModel.from_pretrained(
11
  MODEL_NAME,
12
  max_seq_length=4096, # Ensure it matches your fine-tuning
13
  dtype=None # Use `torch.float16` if running on GPU
14
  )
15
 
 
 
 
 
16
  tokenizer.pad_token = tokenizer.eos_token
17
  tokenizer.padding_side = "left"
18
 
@@ -22,9 +30,11 @@ phi3_model, phi3_tokenizer = load_phi3_model()
22
 
23
  # Function to generate text using Phi-3
24
  def generate(plain_text):
25
- input_ids = phi3_tokenizer(plain_text.strip(), return_tensors="pt").input_ids
 
26
  eos_id = phi3_tokenizer.eos_token_id
27
 
 
28
  outputs = phi3_model.generate(
29
  input_ids,
30
  do_sample=True,
@@ -36,6 +46,7 @@ def generate(plain_text):
36
  length_penalty=-1.0
37
  )
38
 
 
39
  output_text = phi3_tokenizer.decode(outputs[0], skip_special_tokens=True)
40
  return output_text.strip()
41
 
@@ -43,6 +54,7 @@ def generate(plain_text):
43
  txt = grad.Textbox(lines=1, label="Input Text", placeholder="Enter your prompt")
44
  out = grad.Textbox(lines=1, label="Generated Text")
45
 
 
46
  grad.Interface(
47
  fn=generate,
48
  inputs=txt,
 
6
  # Load your fine-tuned Phi-3 model from Hugging Face
7
  MODEL_NAME = "jcrissa/phi3-new-t2i"
8
 
9
+ # Ensure that the device is correctly set (ZeroGPU or CPU)
10
+ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
11
+
12
  def load_phi3_model():
13
+ # Load the Phi-3 model and tokenizer from Hugging Face
14
  model, tokenizer = FastLanguageModel.from_pretrained(
15
  MODEL_NAME,
16
  max_seq_length=4096, # Ensure it matches your fine-tuning
17
  dtype=None # Use `torch.float16` if running on GPU
18
  )
19
 
20
+ # Move the model to the appropriate device (ZeroGPU or CPU)
21
+ model.to(device)
22
+
23
+ # Configure tokenizer settings
24
  tokenizer.pad_token = tokenizer.eos_token
25
  tokenizer.padding_side = "left"
26
 
 
30
 
31
  # Function to generate text using Phi-3
32
  def generate(plain_text):
33
+ # Tokenize input text and move to the device
34
+ input_ids = phi3_tokenizer(plain_text.strip(), return_tensors="pt").input_ids.to(device)
35
  eos_id = phi3_tokenizer.eos_token_id
36
 
37
+ # Generate the output from the model
38
  outputs = phi3_model.generate(
39
  input_ids,
40
  do_sample=True,
 
46
  length_penalty=-1.0
47
  )
48
 
49
+ # Decode and return the generated text
50
  output_text = phi3_tokenizer.decode(outputs[0], skip_special_tokens=True)
51
  return output_text.strip()
52
 
 
54
  txt = grad.Textbox(lines=1, label="Input Text", placeholder="Enter your prompt")
55
  out = grad.Textbox(lines=1, label="Generated Text")
56
 
57
+ # Launch Gradio Interface with ZeroGPU-compatible setup
58
  grad.Interface(
59
  fn=generate,
60
  inputs=txt,