stable-diffusion-webui icon indicating copy to clipboard operation
stable-diffusion-webui copied to clipboard

[Bug]: AttributeError: 'Options' object has no attribute 'SWIN_tile'

Open zijiren233 opened this issue 2 years ago • 1 comments

Is there an existing issue for this?

  • [X] I have searched the existing issues and checked the recent builds/commits

What happened?

This problem occurs when I add the --nowebui parameter parameters of my request:

{
  "upscaling_resize": 4,
  "upscaler_1": "SwinIR 4x",
  "extras_upscaler_2_visibility": 1,
  "imageList": [
    {
      "data": "data:image/png;base64,img...",
      "name": "string"
    }
  ]
}

When I change --nowebui to --api, the request is successful

Below is the error that occurs when --nowebui

"POST /sdapi/v1/extra-batch-images HTTP/1.1" 500 Internal Server Error
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\streams\memory.py", line 94, in receive
    return self.receive_nowait()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\streams\memory.py", line 89, in receive_nowait
    raise WouldBlock
anyio.WouldBlock

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\base.py", line 77, in call_next
    message = await recv_stream.receive()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\streams\memory.py", line 114, in receive
    raise EndOfStream
anyio.EndOfStream

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 407, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 78, in __call__
    return await self.app(scope, receive, send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\fastapi\applications.py", line 270, in __call__
    await super().__call__(scope, receive, send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\applications.py", line 124, in __call__
    await self.middleware_stack(scope, receive, send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\errors.py", line 184, in __call__
    raise exc
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\errors.py", line 162, in __call__
    await self.app(scope, receive, _send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\base.py", line 106, in __call__
    response = await self.dispatch_func(request, call_next)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\modules\api\api.py", line 75, in log_and_time
    res: Response = await call_next(req)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\base.py", line 80, in call_next
    raise app_exc
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\base.py", line 69, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\gzip.py", line 24, in __call__
    await responder(scope, receive, send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\gzip.py", line 44, in __call__
    await self.app(scope, receive, self.send_with_gzip)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\exceptions.py", line 79, in __call__
    raise exc
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 21, in __call__
    raise e
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\routing.py", line 706, in __call__
    await route.handle(scope, receive, send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\routing.py", line 276, in handle
    await self.app(scope, receive, send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\routing.py", line 66, in app
    response = await func(request)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\fastapi\routing.py", line 235, in app
    raw_response = await run_endpoint_function(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\fastapi\routing.py", line 163, in run_endpoint_function
    return await run_in_threadpool(dependant.call, **values)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\concurrency.py", line 41, in run_in_threadpool
    return await anyio.to_thread.run_sync(func, *args)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\to_thread.py", line 31, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\_backends\_asyncio.py", line 937, in run_sync_in_worker_thread
    return await future
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\_backends\_asyncio.py", line 867, in run
    result = context.run(func, *args)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\modules\api\api.py", line 228, in extras_batch_images_api
    result = run_extras(extras_mode=1, image="", input_dir="", output_dir="", save_output=False, **reqDict)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\modules\extras.py", line 196, in run_extras
    image, info = op(image, info)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\modules\extras.py", line 154, in run_upscalers_blend
    res = upscale(image, *upscale_args)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\modules\extras.py", line 122, in upscale
    res = upscaler.scaler.upscale(image, resize, upscaler.data_path)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\modules\upscaler.py", line 64, in upscale
    img = self.do_upscale(img, selected_model)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\extensions-builtin\SwinIR\scripts\swinir_model.py", line 45, in do_upscale
    img = upscale(img, model)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\extensions-builtin\SwinIR\scripts\swinir_model.py", line 107, in upscale
    tile = tile or opts.SWIN_tile
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\modules\shared.py", line 490, in __getattr__
    return super(Options, self).__getattribute__(item)
AttributeError: 'Options' object has no attribute 'SWIN_tile'

Steps to reproduce the problem

  1. RUN: --no-half-vae --xformers --disable-safe-unpickle --listen --lowram --nowebui --opt-split-attention --opt-channelslast
  2. api: /sdapi/v1/extra-batch-images
  3. Req: { "upscaling_resize": 4, "upscaler_1": "SwinIR 4x", "extras_upscaler_2_visibility": 1, "imageList": [ { "data": "data:image/png;base64,img...", "name": "string" } ] }

What should have happened?

success req

Commit where the problem happens

874b975bf8438b2b5ee6d8540d63b2e2da6b8dbd

What platforms do you use to access UI ?

Windows

What browsers do you use to access the UI ?

Microsoft Edge

Command Line Arguments

--no-half-vae --xformers --disable-safe-unpickle --listen --lowram --nowebui --opt-split-attention --opt-channelslast

Additional information, context and logs

"POST /sdapi/v1/extra-batch-images HTTP/1.1" 500 Internal Server Error
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\streams\memory.py", line 94, in receive
    return self.receive_nowait()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\streams\memory.py", line 89, in receive_nowait
    raise WouldBlock
anyio.WouldBlock

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\base.py", line 77, in call_next
    message = await recv_stream.receive()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\streams\memory.py", line 114, in receive
    raise EndOfStream
anyio.EndOfStream

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 407, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 78, in __call__
    return await self.app(scope, receive, send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\fastapi\applications.py", line 270, in __call__
    await super().__call__(scope, receive, send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\applications.py", line 124, in __call__
    await self.middleware_stack(scope, receive, send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\errors.py", line 184, in __call__
    raise exc
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\errors.py", line 162, in __call__
    await self.app(scope, receive, _send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\base.py", line 106, in __call__
    response = await self.dispatch_func(request, call_next)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\modules\api\api.py", line 75, in log_and_time
    res: Response = await call_next(req)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\base.py", line 80, in call_next
    raise app_exc
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\base.py", line 69, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\gzip.py", line 24, in __call__
    await responder(scope, receive, send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\gzip.py", line 44, in __call__
    await self.app(scope, receive, self.send_with_gzip)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\exceptions.py", line 79, in __call__
    raise exc
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\middleware\exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 21, in __call__
    raise e
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\routing.py", line 706, in __call__
    await route.handle(scope, receive, send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\routing.py", line 276, in handle
    await self.app(scope, receive, send)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\routing.py", line 66, in app
    response = await func(request)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\fastapi\routing.py", line 235, in app
    raw_response = await run_endpoint_function(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\fastapi\routing.py", line 163, in run_endpoint_function
    return await run_in_threadpool(dependant.call, **values)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\starlette\concurrency.py", line 41, in run_in_threadpool
    return await anyio.to_thread.run_sync(func, *args)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\to_thread.py", line 31, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\_backends\_asyncio.py", line 937, in run_sync_in_worker_thread
    return await future
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\anyio\_backends\_asyncio.py", line 867, in run
    result = context.run(func, *args)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\modules\api\api.py", line 228, in extras_batch_images_api
    result = run_extras(extras_mode=1, image="", input_dir="", output_dir="", save_output=False, **reqDict)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\modules\extras.py", line 196, in run_extras
    image, info = op(image, info)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\modules\extras.py", line 154, in run_upscalers_blend
    res = upscale(image, *upscale_args)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\modules\extras.py", line 122, in upscale
    res = upscaler.scaler.upscale(image, resize, upscaler.data_path)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\modules\upscaler.py", line 64, in upscale
    img = self.do_upscale(img, selected_model)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\extensions-builtin\SwinIR\scripts\swinir_model.py", line 45, in do_upscale
    img = upscale(img, model)
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\extensions-builtin\SwinIR\scripts\swinir_model.py", line 107, in upscale
    tile = tile or opts.SWIN_tile
  File "C:\Users\Administrator\Desktop\stable-diffusion-webui\modules\shared.py", line 490, in __getattr__
    return super(Options, self).__getattribute__(item)
AttributeError: 'Options' object has no attribute 'SWIN_tile'

zijiren233 avatar Jan 06 '23 19:01 zijiren233

python launch.py --no-half-vae --xformers --disable-safe-unpickle --listen --lowram --nowebui --opt-split-attention --opt-channelslast

zijiren233 avatar Jan 06 '23 20:01 zijiren233

Closing as stale.

catboxanon avatar Aug 03 '23 19:08 catboxanon