Spaces:
Sleeping
Sleeping
| from typing import Any | |
| import gradio as gr | |
| from models.interface_types import InterfaceType | |
| from state import get_settings, get_context | |
| from backend.upscale.upscaler import upscale_image | |
| from backend.models.upscale import UpscaleMode | |
| from paths import FastStableDiffusionPaths | |
| app_settings = get_settings() | |
| previous_width = 0 | |
| previous_height = 0 | |
| previous_model_id = "" | |
| previous_num_of_images = 0 | |
| def create_upscaled_image( | |
| source_image, | |
| upscale_mode, | |
| ) -> Any: | |
| context = get_context(InterfaceType.WEBUI) | |
| scale_factor = 2 | |
| if upscale_mode == "SD": | |
| mode = UpscaleMode.sd_upscale.value | |
| elif upscale_mode == "AURA-SR": | |
| mode = UpscaleMode.aura_sr.value | |
| scale_factor = 4 | |
| else: | |
| mode = UpscaleMode.normal.value | |
| upscaled_filepath = FastStableDiffusionPaths.get_upscale_filepath( | |
| None, | |
| scale_factor, | |
| app_settings.settings.generated_images.format, | |
| ) | |
| image = upscale_image( | |
| context=context, | |
| src_image_path=source_image, | |
| dst_image_path=upscaled_filepath, | |
| upscale_mode=mode, | |
| ) | |
| return image | |
| def get_upscaler_ui() -> None: | |
| with gr.Blocks(): | |
| with gr.Row(): | |
| with gr.Column(): | |
| input_image = gr.Image(label="Image", type="filepath") | |
| with gr.Row(): | |
| upscale_mode = gr.Radio( | |
| ["EDSR", "SD", "AURA-SR"], | |
| label="Upscale Mode (2x) | AURA-SR v2 (4x)", | |
| info="Select upscale method(For SD Scale GGUF mode is not supported)", | |
| value="EDSR", | |
| ) | |
| generate_btn = gr.Button( | |
| "Upscale", | |
| elem_id="generate_button", | |
| scale=0, | |
| ) | |
| input_params = [ | |
| input_image, | |
| upscale_mode, | |
| ] | |
| with gr.Column(): | |
| output = gr.Gallery( | |
| label="Generated images", | |
| show_label=True, | |
| elem_id="gallery", | |
| columns=2, | |
| height=512, | |
| ) | |
| generate_btn.click( | |
| fn=create_upscaled_image, | |
| inputs=input_params, | |
| outputs=output, | |
| ) | |