Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -51,7 +51,6 @@ class calculateDuration:
|
|
51 |
def generate_images(prompt, trigger_word, steps, seed, cfg_scale, width, height, lora_scale, num_images, progress):
|
52 |
generator = torch.Generator(device=device).manual_seed(seed)
|
53 |
images = []
|
54 |
-
seeds = []
|
55 |
|
56 |
with calculateDuration("Generating images"):
|
57 |
for _ in range(num_images):
|
@@ -66,9 +65,7 @@ def generate_images(prompt, trigger_word, steps, seed, cfg_scale, width, height,
|
|
66 |
joint_attention_kwargs={"scale": lora_scale},
|
67 |
).images[0]
|
68 |
images.append(image)
|
69 |
-
|
70 |
-
|
71 |
-
return images, seeds
|
72 |
|
73 |
def run_lora(prompt, cfg_scale, steps, selected_repo, randomize_seed, seed, width, height, lora_scale, num_images, progress=gr.Progress(track_tqdm=True)):
|
74 |
if not selected_repo:
|
@@ -93,20 +90,16 @@ def run_lora(prompt, cfg_scale, steps, selected_repo, randomize_seed, seed, widt
|
|
93 |
if randomize_seed:
|
94 |
seed = random.randint(0, MAX_SEED)
|
95 |
|
96 |
-
images
|
97 |
pipe.to("cpu")
|
98 |
pipe.unload_lora_weights()
|
99 |
-
return images,
|
100 |
|
101 |
def update_selection(evt: gr.SelectData):
|
102 |
index = evt.index
|
103 |
selected_lora = loras[index]
|
104 |
return f"Selected LoRA: {selected_lora['title']}", selected_lora["repo"]
|
105 |
|
106 |
-
def display_seed(evt: gr.SelectData, seeds):
|
107 |
-
index = evt.index
|
108 |
-
return seeds[index]
|
109 |
-
|
110 |
run_lora.zerogpu = True
|
111 |
|
112 |
css = '''
|
@@ -157,7 +150,7 @@ with gr.Blocks(theme=gr.themes.Soft(), css=css) as app:
|
|
157 |
)
|
158 |
with gr.Column(scale=1): # Generated images on the right
|
159 |
result = gr.Gallery(label="Generated Images")
|
160 |
-
|
161 |
|
162 |
with gr.Column():
|
163 |
with gr.Row():
|
@@ -180,18 +173,12 @@ with gr.Blocks(theme=gr.themes.Soft(), css=css) as app:
|
|
180 |
outputs=[selected_lora_text, selected_repo]
|
181 |
)
|
182 |
|
183 |
-
result.select(
|
184 |
-
fn=display_seed,
|
185 |
-
inputs=[result, gr.State()],
|
186 |
-
outputs=[seed_display]
|
187 |
-
)
|
188 |
-
|
189 |
generate_button = gr.Button("Generate", variant="primary", elem_id="gen_btn")
|
190 |
generate_button.click(
|
191 |
run_lora,
|
192 |
inputs=[prompt, cfg_scale, steps, selected_repo, randomize_seed, seed, width, height, lora_scale, num_images],
|
193 |
-
outputs=[result,
|
194 |
)
|
195 |
|
196 |
app.queue()
|
197 |
-
app.launch()
|
|
|
51 |
def generate_images(prompt, trigger_word, steps, seed, cfg_scale, width, height, lora_scale, num_images, progress):
|
52 |
generator = torch.Generator(device=device).manual_seed(seed)
|
53 |
images = []
|
|
|
54 |
|
55 |
with calculateDuration("Generating images"):
|
56 |
for _ in range(num_images):
|
|
|
65 |
joint_attention_kwargs={"scale": lora_scale},
|
66 |
).images[0]
|
67 |
images.append(image)
|
68 |
+
return images
|
|
|
|
|
69 |
|
70 |
def run_lora(prompt, cfg_scale, steps, selected_repo, randomize_seed, seed, width, height, lora_scale, num_images, progress=gr.Progress(track_tqdm=True)):
|
71 |
if not selected_repo:
|
|
|
90 |
if randomize_seed:
|
91 |
seed = random.randint(0, MAX_SEED)
|
92 |
|
93 |
+
images = generate_images(prompt, trigger_word, steps, seed, cfg_scale, width, height, lora_scale, num_images, progress)
|
94 |
pipe.to("cpu")
|
95 |
pipe.unload_lora_weights()
|
96 |
+
return images, seed
|
97 |
|
98 |
def update_selection(evt: gr.SelectData):
|
99 |
index = evt.index
|
100 |
selected_lora = loras[index]
|
101 |
return f"Selected LoRA: {selected_lora['title']}", selected_lora["repo"]
|
102 |
|
|
|
|
|
|
|
|
|
103 |
run_lora.zerogpu = True
|
104 |
|
105 |
css = '''
|
|
|
150 |
)
|
151 |
with gr.Column(scale=1): # Generated images on the right
|
152 |
result = gr.Gallery(label="Generated Images")
|
153 |
+
seed = gr.Number(label="Seed", value=0, interactive=False)
|
154 |
|
155 |
with gr.Column():
|
156 |
with gr.Row():
|
|
|
173 |
outputs=[selected_lora_text, selected_repo]
|
174 |
)
|
175 |
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
generate_button = gr.Button("Generate", variant="primary", elem_id="gen_btn")
|
177 |
generate_button.click(
|
178 |
run_lora,
|
179 |
inputs=[prompt, cfg_scale, steps, selected_repo, randomize_seed, seed, width, height, lora_scale, num_images],
|
180 |
+
outputs=[result, seed]
|
181 |
)
|
182 |
|
183 |
app.queue()
|
184 |
+
app.launch()
|