Lifeinhockey commited on
Commit
7b8693a
·
verified ·
1 Parent(s): 7527af3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +71 -75
app.py CHANGED
@@ -68,7 +68,7 @@ def infer(
68
  seed=4,
69
  guidance_scale=7.5,
70
  lora_scale=0.5,
71
- #use_control_net=False, # Добавляем параметр для управления включением ControlNet
72
  #control_net_weight=1.0, control_strength_slider
73
  progress=gr.Progress(track_tqdm=True)
74
  ):
@@ -214,84 +214,80 @@ with gr.Blocks(css=css) as demo:
214
  value=512,
215
  )
216
 
217
- # # Функция для работы с ControlNet ---------------------------------------------------------------------
218
- # def process_input_ControlNet(image, use_control_net, control_strength, control_mode):
219
- # if use_control_net:
220
- # # Логика для обработки с использованием ControlNet
221
- # result = f"ControlNet активен! Режим: {control_mode}, Интенсивность: {control_strength}"
222
- # else:
223
- # # Логика для обработки без ControlNet
224
- # result = "ControlNet отключен."
225
- # return result
226
-
227
- # with gr.Blocks():
228
- # with gr.Row():
229
- # # Чекбокс для включения/отключения ControlNet
230
- # use_control_net = gr.Checkbox(
231
- # label="Use ControlNet",
232
- # value=False,
233
- # )
234
-
235
- # # Дополнительные опции для ControlNet
236
- # with gr.Column(visible=False) as control_net_options:
237
- # # Слайдер для настройки интенсивности
238
- # control_strength = gr.Slider(
239
- # label="Control Strength",
240
- # minimum=0.0,
241
- # maximum=1.0,
242
- # value=0.5,
243
- # step=0.05,
244
- # )
245
-
246
- # # Выпадающий список для выбора режима
247
- # control_mode = gr.Dropdown(
248
- # label="Control Mode",
249
- # choices=[
250
- # "edge_detection",
251
- # "canny_edge_detection",
252
- # "pose_estimation",
253
- # "depth_map",
254
- # "segmentation_map",
255
- # "scribble_sketch",
256
- # "normal_map",
257
- # "hed_edge_detection",
258
- # "openpose",
259
- # "mlsd_line_detection",
260
- # "scribble_diffusion",
261
- # "semantic_segmentation",
262
- # "style_transfer",
263
- # "colorization",
264
- # "custom_map"
265
- # ],
266
- # value="pose_estimation",
267
- # )
268
-
269
- # # Окно для загрузки изображений
270
- # control_image = gr.Image(label="Upload Control Image")
271
-
272
- # # Кнопка для запуска работы ControlNet
273
- # run_button = gr.Button("Run")
274
 
275
- # # Текстовое поле для вывода результата
276
- # output = gr.Textbox(label="Output")
 
 
 
 
 
277
 
278
- # # Логика для отображения/скрытия дополнительных опций
279
- # use_control_net.change(
280
- # fn=lambda x: gr.Row.update(visible=x),
281
- # inputs=use_control_net,
282
- # outputs=control_net_options,
283
- # )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
284
 
285
- # # Привязка кнопки Run к функции работы с ControlNet
286
- # run_button.click(
287
- # fn=process_input_ControlNet,
288
- # inputs=[control_image, use_control_net, control_strength, control_mode],
289
- # outputs=output,
290
- # )
291
 
 
 
292
 
 
 
 
 
 
 
293
 
294
-
 
 
 
 
 
295
 
296
  # Функция для работы с IP-adapter ----------------------------------------------------------------------------
297
  def process_input_IP_adapter(image, use_ip_adapter, ip_adapter_scale, ip_adapter_image):
@@ -339,7 +335,7 @@ with gr.Blocks(css=css) as demo:
339
  outputs=ip_adapter_options,
340
  )
341
 
342
- # Привязка кнопки к функции обработки
343
  run_button.click(
344
  fn=process_input_IP_adapter,
345
  inputs=[ip_adapter_image, use_ip_adapter, ip_adapter_scale, ip_adapter_image],
@@ -374,7 +370,7 @@ with gr.Blocks(css=css) as demo:
374
  seed,
375
  guidance_scale,
376
  lora_scale,
377
- #use_control_net, # Передаем состояние чекбокса
378
  #control_net_weight, # Передаем вес ControlNet
379
  ],
380
  outputs=[result],
 
68
  seed=4,
69
  guidance_scale=7.5,
70
  lora_scale=0.5,
71
+ use_control_net=False, # Добавляем параметр для управления включением ControlNet
72
  #control_net_weight=1.0, control_strength_slider
73
  progress=gr.Progress(track_tqdm=True)
74
  ):
 
214
  value=512,
215
  )
216
 
217
+ # Функция для работы с ControlNet ---------------------------------------------------------------------
218
+ def process_input_ControlNet(image, use_control_net, control_strength, control_mode):
219
+ if use_control_net:
220
+ # Логика для обработки с использованием ControlNet
221
+ result = f"ControlNet активен! Режим: {control_mode}, Интенсивность: {control_strength}"
222
+ else:
223
+ # Логика для обработки без ControlNet
224
+ result = "ControlNet отключен."
225
+ return result
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
 
227
+ with gr.Blocks():
228
+ with gr.Row():
229
+ # Чекбокс для включения/отключения ControlNet
230
+ use_control_net = gr.Checkbox(
231
+ label="Use ControlNet",
232
+ value=False,
233
+ )
234
 
235
+ # Дополнительные опции для ControlNet
236
+ with gr.Column(visible=False) as control_net_options:
237
+ # Слайдер для настройки интенсивности
238
+ control_strength = gr.Slider(
239
+ label="Control Strength",
240
+ minimum=0.0,
241
+ maximum=1.0,
242
+ value=0.5,
243
+ step=0.05,
244
+ )
245
+
246
+ # Выпадающий список для выбора режима
247
+ control_mode = gr.Dropdown(
248
+ label="Control Mode",
249
+ choices=[
250
+ "edge_detection",
251
+ "canny_edge_detection",
252
+ "pose_estimation",
253
+ "depth_map",
254
+ "segmentation_map",
255
+ "scribble_sketch",
256
+ "normal_map",
257
+ "hed_edge_detection",
258
+ "openpose",
259
+ "mlsd_line_detection",
260
+ "scribble_diffusion",
261
+ "semantic_segmentation",
262
+ "style_transfer",
263
+ "colorization",
264
+ "custom_map"
265
+ ],
266
+ value="pose_estimation",
267
+ )
268
+
269
+ # Окно для загрузки изображений
270
+ control_image = gr.Image(label="Upload Control Image")
271
 
272
+ # Кнопка для запуска работы ControlNet
273
+ run_button = gr.Button("Run")
 
 
 
 
274
 
275
+ # Текстовое поле для вывода результата
276
+ output = gr.Textbox(label="Output")
277
 
278
+ # Логика для отображения/скрытия дополнительных опций
279
+ use_control_net.change(
280
+ fn=lambda x: gr.Row.update(visible=x),
281
+ inputs=use_control_net,
282
+ outputs=control_net_options,
283
+ )
284
 
285
+ # Привязка кнопки Run к функции работы с ControlNet
286
+ run_button.click(
287
+ fn=process_input_ControlNet,
288
+ inputs=[control_image, use_control_net, control_strength, control_mode],
289
+ outputs=output,
290
+ )
291
 
292
  # Функция для работы с IP-adapter ----------------------------------------------------------------------------
293
  def process_input_IP_adapter(image, use_ip_adapter, ip_adapter_scale, ip_adapter_image):
 
335
  outputs=ip_adapter_options,
336
  )
337
 
338
+ # Привязка кнопки Run к функции работы с IP-adapter
339
  run_button.click(
340
  fn=process_input_IP_adapter,
341
  inputs=[ip_adapter_image, use_ip_adapter, ip_adapter_scale, ip_adapter_image],
 
370
  seed,
371
  guidance_scale,
372
  lora_scale,
373
+ use_control_net, # Передаем состояние чекбокса
374
  #control_net_weight, # Передаем вес ControlNet
375
  ],
376
  outputs=[result],