MCPcopy Create free account
hub / github.com/ali-vilab/ACE_plus / run_example

Method run_example

demo_fft.py:446–496  ·  view source on GitHub ↗
(edit_type, prompt, ref_image, edit_image, edit_mask,
                        output_h, output_w, seed, use_change, keep_pixel,
                        keep_pixels_rate,
                        progress=gr.Progress(track_tqdm=True))

Source from the content-addressed store, hash-verified

444 queue=True)
445
446 def run_example(edit_type, prompt, ref_image, edit_image, edit_mask,
447 output_h, output_w, seed, use_change, keep_pixel,
448 keep_pixels_rate,
449 progress=gr.Progress(track_tqdm=True)):
450
451 step = self.pipe.input.get("sample_steps", 20)
452 cfg_scale = self.pipe.input.get("guide_scale", 20)
453 edit_info = self.edit_type_dict[edit_type]
454
455 edit_image = self.construct_edit_image(edit_image, edit_mask)
456
457 pre_edit_image, pre_edit_mask, pre_ref_image, _, _ = preprocess_input(ref_image, edit_image)
458
459 icon = pre_edit_image or pre_ref_image
460
461 pre_edit_image = edit_preprocess(edit_info.ANNOTATOR, we.device_id, pre_edit_image, pre_edit_mask)
462 edit_info = edit_info or {}
463 repainting_scale = edit_info.get("REPAINTING_SCALE", 1.0)
464 st = time.time()
465 image, edit_image, change_image, mask, seed = self.pipe(
466 reference_image=pre_ref_image,
467 edit_image=pre_edit_image,
468 edit_mask=pre_edit_mask,
469 prompt=prompt,
470 output_height=output_h,
471 output_width=output_w,
472 sampler='flow_euler',
473 sample_steps=step,
474 guide_scale=cfg_scale,
475 seed=seed,
476 repainting_scale=repainting_scale,
477 use_change=use_change,
478 keep_pixels=keep_pixel,
479 keep_pixels_rate=keep_pixels_rate
480 )
481 et = time.time()
482 msg = f"prompt: {prompt}; seed: {seed}; cost time: {et - st}s; repaiting scale: {repainting_scale}"
483 if pre_edit_image is not None:
484 ret_image = Image.composite(Image.new("RGB", pre_edit_image.size, (0, 0, 0)), pre_edit_image, pre_edit_mask)
485 else:
486 ret_image = None
487
488 if icon is not None:
489 icon = resize_image(icon, 150)
490 return (gr.Image(value=image), gr.Column(visible=True),
491 gr.Image(value=edit_image if edit_image is not None else edit_image),
492 gr.Image(value=change_image),
493 gr.Image(value=pre_edit_mask if pre_edit_mask is not None else None),
494 gr.Text(value=msg),
495 gr.update(value=ret_image),
496 gr.Image(value= icon))
497
498 with self.eg:
499 self.example_edit_image = gr.Image(label='Edit Image',

Callers

nothing calls this directly

Calls 2

construct_edit_imageMethod · 0.95
edit_preprocessFunction · 0.90

Tested by

no test coverage detected