Upscale Does Not Work
kklouzal opened this issue · comments
Describe the bug
Clicking the upscale icon under a generated image, or selecting the upscale image drop-down on a batch of generated images throws an error and does not upscale the image.
Environment
- OS: Windows
Console logs
Tile 2/9
Tile 3/9
Tile 4/9
Tile 5/9
Tile 6/9
Tile 7/9
Tile 8/9
Tile 9/9
*** API error: POST: http://127.0.0.1:7860/sdapi/v1/extra-single-image {'error': 'TypeError', 'detail': '', 'body': '', 'errors': "unsupported operand type(s) for -: 'int' and 'NoneType'"}
Traceback (most recent call last):
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\streams\memory.py", line 98, in receive
return self.receive_nowait()
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\streams\memory.py", line 93, in receive_nowait
raise WouldBlock
anyio.WouldBlock
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 78, in call_next
message = await recv_stream.receive()
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\streams\memory.py", line 118, in receive
raise EndOfStream
anyio.EndOfStream
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\StableDiffusion\stable-diffusion-webui\modules\api\api.py", line 153, in exception_handling
return await call_next(request)
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 84, in call_next
raise app_exc
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 70, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 108, in __call__
response = await self.dispatch_func(request, call_next)
File "D:\StableDiffusion\stable-diffusion-webui\modules\api\api.py", line 117, in log_and_time
res: Response = await call_next(req)
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 84, in call_next
raise app_exc
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 70, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\cors.py", line 84, in __call__
await self.app(scope, receive, send)
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\gzip.py", line 24, in __call__
await responder(scope, receive, send)
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\gzip.py", line 44, in __call__
await self.app(scope, receive, self.send_with_gzip)
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\exceptions.py", line 79, in __call__
raise exc
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\exceptions.py", line 68, in __call__
await self.app(scope, receive, sender)
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 21, in __call__
raise e
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\routing.py", line 718, in __call__
await route.handle(scope, receive, send)
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\routing.py", line 276, in handle
await self.app(scope, receive, send)
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\routing.py", line 66, in app
response = await func(request)
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\fastapi\routing.py", line 237, in app
raw_response = await run_endpoint_function(
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\fastapi\routing.py", line 165, in run_endpoint_function
return await run_in_threadpool(dependant.call, **values)
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\concurrency.py", line 41, in run_in_threadpool
return await anyio.to_thread.run_sync(func, *args)
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 877, in run_sync_in_worker_thread
return await future
File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 807, in run
result = context.run(func, *args)
File "D:\StableDiffusion\stable-diffusion-webui\modules\api\api.py", line 412, in extras_single_image_api
result = postprocessing.run_extras(extras_mode=0, image_folder="", input_dir="", output_dir="", save_output=False, **reqDict)
File "D:\StableDiffusion\stable-diffusion-webui\modules\postprocessing.py", line 108, in run_extras
return run_postprocessing(extras_mode, image, image_folder, input_dir, output_dir, show_extras_results, *args, save_output=save_output)
File "D:\StableDiffusion\stable-diffusion-webui\modules\postprocessing.py", line 61, in run_postprocessing
scripts.scripts_postproc.run(pp, args)
File "D:\StableDiffusion\stable-diffusion-webui\modules\scripts_postprocessing.py", line 130, in run
script.process(pp, **process_args)
File "D:\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-color-enhance\scripts\color_enhance.py", line 28, in process
pp.image = self._color_enhance(pp.image, strength)
File "D:\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-color-enhance\scripts\color_enhance.py", line 37, in _color_enhance
lch[:, :, 1] *= 100/(self._lerp(100, lch[:, :, 1].max(), strength)) # Normalize chroma component
File "D:\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-color-enhance\scripts\color_enhance.py", line 33, in _lerp
return (1 - t) * a + t * b
TypeError: unsupported operand type(s) for -: 'int' and 'NoneType'
---
Heya I'm currently on vacation, will look at this in one week
This bug is caused by the sd-webui-color-enhance extension. The aiyabot will work if you remove the extension.
The extension works in the Web UI but appears to break when receiving requests through API.
I tried to troubleshoot this person's extension, but I don't understand their code enough to update their code or provide it whatever it needs. Their _lerp()
function is expecting a value that is provided by _color_enhance()
function; however, the value is returning None
. If you want, you can contact the extension developer and request them to add some exception handling or clarify what their extension is asking for.
Closing this stale issue.