diff --git a/modules/realesrgan_model.py b/modules/realesrgan_model.py index e480887f1..e2cef0c8d 100644 --- a/modules/realesrgan_model.py +++ b/modules/realesrgan_model.py @@ -5,7 +5,7 @@ import numpy as np from PIL import Image import modules.images -from modules.shared import cmd_opts +from modules.shared import cmd_opts, opts RealesrganModelInfo = namedtuple("RealesrganModelInfo", ["name", "location", "model", "netscale"]) @@ -76,7 +76,9 @@ def upscale_with_realesrgan(image, RealESRGAN_upscaling, RealESRGAN_model_index) scale=info.netscale, model_path=info.location, model=model, - half=not cmd_opts.no_half + half=not cmd_opts.no_half, + tile=opts.ESRGAN_tile, + tile_pad=opts.ESRGAN_tile_overlap, ) upsampled = upsampler.enhance(np.array(image), outscale=RealESRGAN_upscaling)[0] diff --git a/modules/shared.py b/modules/shared.py index de7cbf029..85318d7ec 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -118,8 +118,8 @@ class Options: "font": OptionInfo(find_any_font(), "Font for image grids that have text"), "enable_emphasis": OptionInfo(True, "Use (text) to make model pay more attention to text text and [text] to make it pay less attention"), "save_txt": OptionInfo(False, "Create a text file next to every image with generation parameters."), - "ESRGAN_tile": OptionInfo(192, "Tile size for ESRGAN upscaling. 0 = no tiling.", gr.Slider, {"minimum": 0, "maximum": 512, "step": 16}), - "ESRGAN_tile_overlap": OptionInfo(8, "Tile overlap, in pixels for ESRGAN upscaling. Low values = visible seam.", gr.Slider, {"minimum": 0, "maximum": 48, "step": 1}), + "ESRGAN_tile": OptionInfo(192, "Tile size for upscaling. 0 = no tiling.", gr.Slider, {"minimum": 0, "maximum": 512, "step": 16}), + "ESRGAN_tile_overlap": OptionInfo(8, "Tile overlap, in pixels for upscaling. Low values = visible seam.", gr.Slider, {"minimum": 0, "maximum": 48, "step": 1}), "random_artist_categories": OptionInfo([], "Allowed categories for random artists selection when using the Roll button", gr.CheckboxGroup, {"choices": artist_db.categories()}), "upscale_at_full_resolution_padding": OptionInfo(16, "Inpainting at full resolution: padding, in pixels, for the masked region.", gr.Slider, {"minimum": 0, "maximum": 128, "step": 4}), "show_progressbar": OptionInfo(True, "Show progressbar"), diff --git a/webui.py b/webui.py index d846b8434..c9421eec7 100644 --- a/webui.py +++ b/webui.py @@ -153,6 +153,7 @@ def wrap_gradio_gpu_call(func): return modules.ui.wrap_gradio_call(f) +modules.scripts.load_scripts(os.path.join(script_path, "scripts")) try: # this silences the annoying "Some weights of the model checkpoint were not used when initializing..." message at start. @@ -174,8 +175,6 @@ else: modules.sd_hijack.model_hijack.hijack(shared.sd_model) -modules.scripts.load_scripts(os.path.join(script_path, "scripts")) - def webui(): # make the program just exit at ctrl+c without waiting for anything @@ -194,6 +193,5 @@ def webui(): demo.launch(share=cmd_opts.share, server_name="0.0.0.0" if cmd_opts.listen else None, server_port=cmd_opts.port) - if __name__ == "__main__": webui()