alexnasa commited on
Commit
9c0d8e3
Β·
verified Β·
1 Parent(s): 20cb7f7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -17
app.py CHANGED
@@ -158,6 +158,7 @@ validation_pipeline._init_tiled_vae(encoder_tile_size=1024,
158
  weight_dtype = torch.float16
159
  device = "cuda"
160
 
 
161
  # Move text_encode and vae to gpu and cast to weight_dtype
162
  text_encoder.to(device, dtype=weight_dtype)
163
  vae.to(device, dtype=weight_dtype)
@@ -173,17 +174,27 @@ tag_model.eval()
173
  tag_model.to(device, dtype=weight_dtype)
174
 
175
  def preprocess_image(input_image: Image.Image) -> Image.Image:
176
- img = input_image.copy()
177
- img.thumbnail((1024, 1024), Image.Resampling.BILINEAR)
178
- return img
179
 
 
 
 
 
 
 
 
 
 
 
 
 
180
 
181
  @spaces.GPU()
182
  def preprocess_n_magnify(input_image: Image.Image):
183
- preprocessed_img = preprocess_image(input_image)
184
- preprocessed_img, magnified_img = magnify(preprocessed_img)
 
 
185
 
186
- return preprocessed_img, (preprocessed_img, magnified_img)
187
 
188
  def get_duration(
189
  input_image: Image.Image,
@@ -201,12 +212,7 @@ def get_duration(
201
  progress,
202
  ):
203
 
204
- if steps > 4 and duration_seconds > 2:
205
- return 90
206
- elif steps > 4 or duration_seconds > 2:
207
- return 75
208
- else:
209
- return 60
210
 
211
 
212
  @spaces.GPU(duration=get_duration)
@@ -227,7 +233,6 @@ def magnify(
227
  ):
228
 
229
 
230
-
231
  process_size = 512
232
  resize_preproc = transforms.Compose([
233
  transforms.Resize(process_size, interpolation=transforms.InterpolationMode.BILINEAR),
@@ -319,7 +324,7 @@ with gr.Blocks(css=css, theme=theme) as demo:
319
  with gr.Column():
320
  input_image = gr.Image(type="pil", height=256)
321
  run_button = gr.Button("πŸ”Ž Magnify 4x", variant="primary")
322
- preprocessed_image = gr.Image(label="preprocessed image", type="pil", interactive=False, height=256)
323
  with gr.Accordion("Options", visible=False):
324
  user_prompt = gr.Textbox(label="User Prompt", value="")
325
  positive_prompt = gr.Textbox(label="Positive Prompt", value="clean, high-resolution, 8k, best quality, masterpiece")
@@ -356,14 +361,14 @@ with gr.Blocks(css=css, theme=theme) as demo:
356
  inputs=[
357
  input_image,
358
  ],
359
- outputs=[preprocessed_image, result_gallery],
360
  fn=preprocess_n_magnify,
361
  cache_examples=True,
362
  )
363
  inputs = [
364
  input_image,
365
  ]
366
- run_button.click(fn=magnify, inputs=preprocessed_image, outputs=[result_gallery])
367
- input_image.upload(fn=preprocess_image,inputs=input_image, outputs=[preprocessed_image])
368
 
369
  demo.launch(share=True)
 
158
  weight_dtype = torch.float16
159
  device = "cuda"
160
 
161
+
162
  # Move text_encode and vae to gpu and cast to weight_dtype
163
  text_encoder.to(device, dtype=weight_dtype)
164
  vae.to(device, dtype=weight_dtype)
 
174
  tag_model.to(device, dtype=weight_dtype)
175
 
176
  def preprocess_image(input_image: Image.Image) -> Image.Image:
 
 
 
177
 
178
+ ori_width, ori_height = input_image.size
179
+
180
+ duration = 60
181
+
182
+ if ori_width > 384 or ori_height > 384:
183
+ duration = 75
184
+ elif ori_width > 512 or ori_height > 512:
185
+ duration = 90
186
+ elif ori_width > 1024 or ori_height > 1024:
187
+ duration = 120
188
+
189
+ return duration
190
 
191
  @spaces.GPU()
192
  def preprocess_n_magnify(input_image: Image.Image):
193
+ duration = preprocess_image(input_image)
194
+ magnified_img = magnify(input_image, duration)
195
+
196
+ return duration, (input_image, magnified_img)
197
 
 
198
 
199
  def get_duration(
200
  input_image: Image.Image,
 
212
  progress,
213
  ):
214
 
215
+ return duration_seconds
 
 
 
 
 
216
 
217
 
218
  @spaces.GPU(duration=get_duration)
 
233
  ):
234
 
235
 
 
236
  process_size = 512
237
  resize_preproc = transforms.Compose([
238
  transforms.Resize(process_size, interpolation=transforms.InterpolationMode.BILINEAR),
 
324
  with gr.Column():
325
  input_image = gr.Image(type="pil", height=256)
326
  run_button = gr.Button("πŸ”Ž Magnify 4x", variant="primary")
327
+ duration_time = gr.Text(label="duration time", value=60)
328
  with gr.Accordion("Options", visible=False):
329
  user_prompt = gr.Textbox(label="User Prompt", value="")
330
  positive_prompt = gr.Textbox(label="Positive Prompt", value="clean, high-resolution, 8k, best quality, masterpiece")
 
361
  inputs=[
362
  input_image,
363
  ],
364
+ outputs=[duration_time, result_gallery],
365
  fn=preprocess_n_magnify,
366
  cache_examples=True,
367
  )
368
  inputs = [
369
  input_image,
370
  ]
371
+ run_button.click(fn=magnify, inputs=[input_image,duration_time], outputs=[result_gallery])
372
+ input_image.upload(fn=preprocess_image,inputs=input_image, outputs=duration_time)
373
 
374
  demo.launch(share=True)