Rooni commited on
Commit
2196d1b
·
verified ·
1 Parent(s): d09d81b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -11
app.py CHANGED
@@ -3,7 +3,6 @@ import numpy as np
3
  import PIL.Image as Image
4
  import random
5
  import time
6
- import threading
7
 
8
  # Список моделей с отображаемыми названиями и внутренними именами
9
  models = {
@@ -28,10 +27,11 @@ models = {
28
  # Очередь на генерации
29
  queue = []
30
 
31
- def generate_image(prompt, model_name, width, height, seed, steps, guidance_scale, random_seed, output_image, params_textbox):
32
  # Проверка очереди
33
  if len(queue) >= 150:
34
- return "Очередь переполнена. Пожалуйста, подождите.", None, None
 
35
 
36
  # Добавляем задачу в очередь
37
  task_id = random.randint(100000, 999999)
@@ -51,8 +51,8 @@ def generate_image(prompt, model_name, width, height, seed, steps, guidance_scal
51
  f"Гуидансе скейл: {guidance_scale}"
52
  )
53
 
54
- # Обновление параметров
55
- params_textbox.update(params_text)
56
 
57
  for step in range(steps):
58
  # Имитация генерации изображения
@@ -63,12 +63,13 @@ def generate_image(prompt, model_name, width, height, seed, steps, guidance_scal
63
  image = Image.fromarray(image_array)
64
 
65
  # Обновление изображения
66
- output_image.update(image)
67
 
68
  # Удаляем задачу из очереди
69
  queue.remove(task_id)
70
 
71
- return output_image, params_text, seed
 
72
 
73
  # Создание интерфейса
74
  with gr.Blocks() as demo:
@@ -108,9 +109,7 @@ with gr.Blocks() as demo:
108
  seed_slider,
109
  steps_slider,
110
  guidance_scale_slider,
111
- random_seed_checkbox,
112
- output_image,
113
- params_textbox
114
  ],
115
  outputs=[output_image, params_textbox, seed_slider]
116
  )
@@ -131,4 +130,4 @@ demo = demo.add_css(hide_footer)
131
  # Установка таймаута
132
  demo.queue(api_name="/generate").set_config(max_size=150, api_open=False, max_threads=1, timeout=125)
133
 
134
- demo.launch()
 
3
  import PIL.Image as Image
4
  import random
5
  import time
 
6
 
7
  # Список моделей с отображаемыми названиями и внутренними именами
8
  models = {
 
27
  # Очередь на генерации
28
  queue = []
29
 
30
+ def generate_image(prompt, model_name, width, height, seed, steps, guidance_scale, random_seed):
31
  # Проверка очереди
32
  if len(queue) >= 150:
33
+ yield "Очередь переполнена. Пожалуйста, подождите.", None, None
34
+ return
35
 
36
  # Добавляем задачу в очередь
37
  task_id = random.randint(100000, 999999)
 
51
  f"Гуидансе скейл: {guidance_scale}"
52
  )
53
 
54
+ # Отправляем текст параметров
55
+ yield None, params_text, seed
56
 
57
  for step in range(steps):
58
  # Имитация генерации изображения
 
63
  image = Image.fromarray(image_array)
64
 
65
  # Обновление изображения
66
+ yield image, None, None
67
 
68
  # Удаляем задачу из очереди
69
  queue.remove(task_id)
70
 
71
+ # Возвращаем финальное изображение и параметры
72
+ yield image, params_text, seed
73
 
74
  # Создание интерфейса
75
  with gr.Blocks() as demo:
 
109
  seed_slider,
110
  steps_slider,
111
  guidance_scale_slider,
112
+ random_seed_checkbox
 
 
113
  ],
114
  outputs=[output_image, params_textbox, seed_slider]
115
  )
 
130
  # Установка таймаута
131
  demo.queue(api_name="/generate").set_config(max_size=150, api_open=False, max_threads=1, timeout=125)
132
 
133
+ demo.launch()