print(f"Failed loading SwinIR model {model_file}: {e}",file=sys.stderr)
returnimg
model=model.to(device_swinir,dtype=devices.dtype)
ifuse_compile:
model=torch.compile(model)
self._cached_model=model
self._cached_model_config=current_config
img=upscale(img,model)
devices.torch_gc()
returnimg
...
...
@@ -170,6 +185,8 @@ def on_ui_settings():
shared.opts.add_option("SWIN_tile",shared.OptionInfo(192,"Tile size for all SwinIR.",gr.Slider,{"minimum":16,"maximum":512,"step":16},section=('upscaling',"Upscaling")))
shared.opts.add_option("SWIN_tile_overlap",shared.OptionInfo(8,"Tile overlap, in pixels for SwinIR. Low values = visible seam.",gr.Slider,{"minimum":0,"maximum":48,"step":1},section=('upscaling',"Upscaling")))
ifint(torch.__version__.split('.')[0])>=2andplatform.system()!="Windows":# torch.compile() require pytorch 2.0 or above, and not on Windows
shared.opts.add_option("SWIN_torch_compile",shared.OptionInfo(False,"Use torch.compile to accelerate SwinIR.",gr.Checkbox,{"interactive":True},section=('upscaling',"Upscaling")).info("Takes longer on first run"))