prithivMLmods commited on
Commit
846456e
·
verified ·
1 Parent(s): 17b06a6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -3
app.py CHANGED
@@ -77,7 +77,7 @@ processor = AutoProcessor.from_pretrained(MODEL_ID_QWEN, trust_remote_code=True)
77
  qwen_model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
78
  MODEL_ID_QWEN,
79
  trust_remote_code=True,
80
- torch_dtype=torch.bfloat16
81
  ).to("cuda").eval()
82
 
83
  # -----------------------
@@ -136,6 +136,8 @@ def model_inference(input_dict, history):
136
  return_tensors="pt",
137
  padding=True,
138
  ).to("cuda")
 
 
139
  # Set up streaming generation.
140
  streamer = TextIteratorStreamer(processor, skip_prompt=True, skip_special_tokens=True)
141
  generation_kwargs = dict(inputs, streamer=streamer, max_new_tokens=1024)
@@ -155,7 +157,7 @@ def model_inference(input_dict, history):
155
  if not files:
156
  # Prepare a simple conversation for text-only input.
157
  conversation = [{"role": "user", "content": text}]
158
- # Here we use the text tokenizer’s chat template method.
159
  input_ids = text_tokenizer.apply_chat_template(
160
  conversation, add_generation_prompt=True, return_tensors="pt"
161
  )
@@ -216,6 +218,8 @@ def model_inference(input_dict, history):
216
  return_tensors="pt",
217
  padding=True,
218
  ).to("cuda")
 
 
219
  streamer = TextIteratorStreamer(processor, skip_prompt=True, skip_special_tokens=True)
220
  generation_kwargs = dict(inputs, streamer=streamer, max_new_tokens=1024)
221
  thread = Thread(target=qwen_model.generate, kwargs=generation_kwargs)
@@ -235,6 +239,7 @@ examples = [
235
  [{"text": "Tell me a story about a brave knight in a faraway kingdom."}],
236
  [{"text": "@video-infer Explain the content of the Advertisement", "files": ["example_images/videoplayback.mp4"]}],
237
  [{"text": "@video-infer Explain the content of the video in detail", "files": ["example_images/breakfast.mp4"]}],
 
238
 
239
  ]
240
 
@@ -250,4 +255,4 @@ demo = gr.ChatInterface(
250
  )
251
 
252
  if __name__ == "__main__":
253
- demo.launch(debug=True)
 
77
  qwen_model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
78
  MODEL_ID_QWEN,
79
  trust_remote_code=True,
80
+ torch_dtype=torch.float16 # Use float16 for more stability
81
  ).to("cuda").eval()
82
 
83
  # -----------------------
 
136
  return_tensors="pt",
137
  padding=True,
138
  ).to("cuda")
139
+ # Clear CUDA cache to reduce potential memory fragmentation.
140
+ torch.cuda.empty_cache()
141
  # Set up streaming generation.
142
  streamer = TextIteratorStreamer(processor, skip_prompt=True, skip_special_tokens=True)
143
  generation_kwargs = dict(inputs, streamer=streamer, max_new_tokens=1024)
 
157
  if not files:
158
  # Prepare a simple conversation for text-only input.
159
  conversation = [{"role": "user", "content": text}]
160
+ # Use the text tokenizer’s chat template method.
161
  input_ids = text_tokenizer.apply_chat_template(
162
  conversation, add_generation_prompt=True, return_tensors="pt"
163
  )
 
218
  return_tensors="pt",
219
  padding=True,
220
  ).to("cuda")
221
+ # Clear CUDA cache before generation.
222
+ torch.cuda.empty_cache()
223
  streamer = TextIteratorStreamer(processor, skip_prompt=True, skip_special_tokens=True)
224
  generation_kwargs = dict(inputs, streamer=streamer, max_new_tokens=1024)
225
  thread = Thread(target=qwen_model.generate, kwargs=generation_kwargs)
 
239
  [{"text": "Tell me a story about a brave knight in a faraway kingdom."}],
240
  [{"text": "@video-infer Explain the content of the Advertisement", "files": ["example_images/videoplayback.mp4"]}],
241
  [{"text": "@video-infer Explain the content of the video in detail", "files": ["example_images/breakfast.mp4"]}],
242
+ [{"text": "@video-infer Explain the content of the video.", "files": ["example_images/sky.mp4"]}],
243
 
244
  ]
245
 
 
255
  )
256
 
257
  if __name__ == "__main__":
258
+ demo.launch(share=True, debug=True)