(task_type, edit_type, prompt, ref_image, edit_image, edit_mask,
output_h, output_w, seed, progress=gr.Progress(track_tqdm=True))
| 436 | queue=True) |
| 437 | |
| 438 | def run_example(task_type, edit_type, prompt, ref_image, edit_image, edit_mask, |
| 439 | output_h, output_w, seed, progress=gr.Progress(track_tqdm=True)): |
| 440 | model_path = self.task_model[task_type]["MODEL_PATH"] |
| 441 | |
| 442 | step = self.pipe.input.get("sample_steps", 20) |
| 443 | cfg_scale = self.pipe.input.get("guide_scale", 20) |
| 444 | |
| 445 | edit_info = self.edit_type_dict[edit_type] |
| 446 | |
| 447 | edit_image = self.construct_edit_image(edit_image, edit_mask) |
| 448 | |
| 449 | pre_edit_image, pre_edit_mask, pre_ref_image, _, _ = preprocess_input(ref_image, edit_image) |
| 450 | pre_edit_image = edit_preprocess(edit_info, we.device_id, pre_edit_image, pre_edit_mask) |
| 451 | edit_info = edit_info or {} |
| 452 | repainting_scale = edit_info.get("REPAINTING_SCALE", 1.0) |
| 453 | st = time.time() |
| 454 | image, seed = self.pipe( |
| 455 | reference_image=pre_ref_image, |
| 456 | edit_image=pre_edit_image, |
| 457 | edit_mask=pre_edit_mask, |
| 458 | prompt=prompt, |
| 459 | output_height=output_h, |
| 460 | output_width=output_w, |
| 461 | sampler='flow_euler', |
| 462 | sample_steps=step, |
| 463 | guide_scale=cfg_scale, |
| 464 | seed=seed, |
| 465 | repainting_scale=repainting_scale, |
| 466 | lora_path=model_path |
| 467 | ) |
| 468 | et = time.time() |
| 469 | msg = f"prompt: {prompt}; seed: {seed}; cost time: {et - st}s; repaiting scale: {repainting_scale}" |
| 470 | if pre_edit_image is not None: |
| 471 | ret_image = Image.composite(Image.new("RGB", pre_edit_image.size, (0, 0, 0)), pre_edit_image, pre_edit_mask) |
| 472 | else: |
| 473 | ret_image = None |
| 474 | return (gr.Image(value=image), gr.Column(visible=True), |
| 475 | gr.Image(value=pre_edit_image if pre_edit_image is not None else pre_ref_image), |
| 476 | gr.Image(value=pre_edit_mask if pre_edit_mask is not None else None), |
| 477 | gr.Text(value=msg), |
| 478 | gr.update(value=ret_image)) |
| 479 | |
| 480 | with self.eg: |
| 481 | self.example_edit_image = gr.Image(label='Edit Image', |
nothing calls this directly
no test coverage detected