lshqqytiger / stable-diffusion-webui-amdgpu

Stable Diffusion web UI
GNU Affero General Public License v3.0
1.68k stars 175 forks source link

[Bug]: Olive optimization error: 'NoneType' object has no attribute 'lowvram' #338

Open Freda-Chan opened 6 months ago

Freda-Chan commented 6 months ago

Checklist

What happened?

When I click on "optimize model using Olive" it throws an error: AttributeError: 'NoneType' object has no attribute 'lowvram'

Steps to reproduce the problem

  1. Clone the repo.
  2. Add args to webui-user.bat: --onnx --use-directml
  3. Now there is an error about web socket, installing pip install httpx==0.24.1 will solve it.
  4. Start webui again.
  5. Go to Olive page and click on optimize model.
  6. AttributeError: 'NoneType' object has no attribute 'lowvram'

What should have happened?

Should be able to optimize model using Olive.

What browsers do you use to access the UI ?

Google Chrome

Sysinfo

sysinfo-2023-12-25-02-38.json

Console logs

venv "D:\sd\stable-diffusion-webui-directml\venv\Scripts\Python.exe"
fatal: No names found, cannot describe anything.
Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
Version: 1.7.0
Commit hash: 25205c9e114a3773f2ce38379f85d18304c34988
Installing onnxruntime
Installing onnxruntime-directml
Launching Web UI with arguments: --lowvram --onnx --use-directml
no module 'xformers'. Processing without...
No SDP backend available, likely because you are running in pytorch versions < 2.0. In fact, you are using PyTorch 1.13.1+cpu. You might want to consider upgrading.
no module 'xformers'. Processing without...
No module 'xformers'. Proceeding without it.
Style database not found: D:\sd\stable-diffusion-webui-directml\styles.csv
==============================================================================
You are running torch 1.13.1+cpu.
The program is tested to work with torch 2.0.0.
To reinstall the desired version, run with commandline flag --reinstall-torch.
Beware that this will cause a lot of large files to be downloaded, as well as
there are reports of issues with training tab on the latest version.

Use --skip-version-check commandline argument to disable this check.
==============================================================================
loading stable diffusion model: FileNotFoundError
Traceback (most recent call last):
  File "C:\Users\Freda\AppData\Local\Programs\Python\Python310\lib\threading.py", line 973, in _bootstrap
    self._bootstrap_inner()
  File "C:\Users\Freda\AppData\Local\Programs\Python\Python310\lib\threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "C:\Users\Freda\AppData\Local\Programs\Python\Python310\lib\threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "D:\sd\stable-diffusion-webui-directml\modules\initialize.py", line 147, in load_model
    shared.sd_model  # noqa: B018
  File "D:\sd\stable-diffusion-webui-directml\modules\shared_items.py", line 128, in sd_model
    return modules.sd_models.model_data.get_sd_model()
  File "D:\sd\stable-diffusion-webui-directml\modules\sd_models.py", line 576, in get_sd_model
    load_model()
  File "D:\sd\stable-diffusion-webui-directml\modules\sd_models.py", line 663, in load_model
    checkpoint_info = checkpoint_info or select_checkpoint()
  File "D:\sd\stable-diffusion-webui-directml\modules\sd_models.py", line 269, in select_checkpoint
    raise FileNotFoundError(error_message)
FileNotFoundError: No checkpoints found. When searching for checkpoints, looked at:
 - file D:\sd\stable-diffusion-webui-directml\model.ckpt
 - directory D:\sd\stable-diffusion-webui-directml\models\Stable-diffusionCan't run without a checkpoint. Find and place a .ckpt or .safetensors file into any of those locations.

Stable diffusion model failed to load
Applying attention optimization: InvokeAI... done.
D:\sd\stable-diffusion-webui-directml\modules\ui.py:1326: GradioDeprecationWarning: The `style` method is deprecated. Please set these arguments in the constructor instead.
  with gr.Row().style(equal_height=False):
D:\sd\stable-diffusion-webui-directml\modules\ui.py:1448: GradioDeprecationWarning: The `style` method is deprecated. Please set these arguments in the constructor instead.
  with gr.Row().style(equal_height=False):
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.
Startup time: 39.2s (initial startup: 0.1s, prepare environment: 4.9s, import torch: 9.7s, import gradio: 6.0s, setup paths: 5.9s, import ldm: 0.1s, initialize shared: 6.4s, other imports: 2.0s, setup codeformer: 0.6s, load scripts: 4.8s, create ui: 2.0s, gradio launch: 0.6s).
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\uvicorn\protocols\websockets\websockets_impl.py", line 250, in run_asgi
    result = await self.app(self.scope, self.asgi_receive, self.asgi_send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 84, in __call__
    return await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\applications.py", line 273, in __call__
    await super().__call__(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\applications.py", line 122, in __call__
    await self.middleware_stack(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\errors.py", line 149, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\cors.py", line 76, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\gzip.py", line 26, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\exceptions.py", line 79, in __call__
    raise exc
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 21, in __call__
    raise e
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\routing.py", line 718, in __call__
    await route.handle(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\routing.py", line 341, in handle
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\routing.py", line 82, in app
    await func(session)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\routing.py", line 289, in app
    await dependant.call(**values)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\gradio\routes.py", line 604, in join_queue
    session_info = await asyncio.wait_for(
  File "C:\Users\Freda\AppData\Local\Programs\Python\Python310\lib\asyncio\tasks.py", line 445, in wait_for
    return fut.result()
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\websockets.py", line 133, in receive_json
    self._raise_on_disconnect(message)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\websockets.py", line 105, in _raise_on_disconnect
    raise WebSocketDisconnect(message["code"])
starlette.websockets.WebSocketDisconnect: 1001
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\uvicorn\protocols\websockets\websockets_impl.py", line 250, in run_asgi
    result = await self.app(self.scope, self.asgi_receive, self.asgi_send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 84, in __call__
    return await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\applications.py", line 273, in __call__
    await super().__call__(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\applications.py", line 122, in __call__
    await self.middleware_stack(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\errors.py", line 149, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\cors.py", line 76, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\gzip.py", line 26, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\exceptions.py", line 79, in __call__
    raise exc
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 21, in __call__
    raise e
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\routing.py", line 718, in __call__
    await route.handle(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\routing.py", line 341, in handle
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\routing.py", line 82, in app
    await func(session)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\routing.py", line 289, in app
    await dependant.call(**values)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\gradio\routes.py", line 604, in join_queue
    session_info = await asyncio.wait_for(
  File "C:\Users\Freda\AppData\Local\Programs\Python\Python310\lib\asyncio\tasks.py", line 445, in wait_for
    return fut.result()
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\websockets.py", line 133, in receive_json
    self._raise_on_disconnect(message)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\websockets.py", line 105, in _raise_on_disconnect
    raise WebSocketDisconnect(message["code"])
starlette.websockets.WebSocketDisconnect: 1001
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\uvicorn\protocols\websockets\websockets_impl.py", line 250, in run_asgi
    result = await self.app(self.scope, self.asgi_receive, self.asgi_send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 84, in __call__
    return await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\applications.py", line 273, in __call__
    await super().__call__(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\applications.py", line 122, in __call__
    await self.middleware_stack(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\errors.py", line 149, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\cors.py", line 76, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\gzip.py", line 26, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\exceptions.py", line 79, in __call__
    raise exc
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 21, in __call__
    raise e
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\routing.py", line 718, in __call__
    await route.handle(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\routing.py", line 341, in handle
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\routing.py", line 82, in app
    await func(session)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\routing.py", line 289, in app
    await dependant.call(**values)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\gradio\routes.py", line 604, in join_queue
    session_info = await asyncio.wait_for(
  File "C:\Users\Freda\AppData\Local\Programs\Python\Python310\lib\asyncio\tasks.py", line 445, in wait_for
    return fut.result()
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\websockets.py", line 133, in receive_json
    self._raise_on_disconnect(message)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\websockets.py", line 105, in _raise_on_disconnect
    raise WebSocketDisconnect(message["code"])
starlette.websockets.WebSocketDisconnect: 1001
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\uvicorn\protocols\websockets\websockets_impl.py", line 250, in run_asgi
    result = await self.app(self.scope, self.asgi_receive, self.asgi_send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 84, in __call__
    return await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\applications.py", line 273, in __call__
    await super().__call__(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\applications.py", line 122, in __call__
    await self.middleware_stack(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\errors.py", line 149, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\cors.py", line 76, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\gzip.py", line 26, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\exceptions.py", line 79, in __call__
    raise exc
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 21, in __call__
    raise e
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\routing.py", line 718, in __call__
    await route.handle(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\routing.py", line 341, in handle
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\routing.py", line 82, in app
    await func(session)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\routing.py", line 289, in app
    await dependant.call(**values)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\gradio\routes.py", line 604, in join_queue
    session_info = await asyncio.wait_for(
  File "C:\Users\Freda\AppData\Local\Programs\Python\Python310\lib\asyncio\tasks.py", line 445, in wait_for
    return fut.result()
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\websockets.py", line 133, in receive_json
    self._raise_on_disconnect(message)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\websockets.py", line 105, in _raise_on_disconnect
    raise WebSocketDisconnect(message["code"])
starlette.websockets.WebSocketDisconnect: 1001
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\uvicorn\protocols\websockets\websockets_impl.py", line 250, in run_asgi
    result = await self.app(self.scope, self.asgi_receive, self.asgi_send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 84, in __call__
    return await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\applications.py", line 273, in __call__
    await super().__call__(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\applications.py", line 122, in __call__
    await self.middleware_stack(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\errors.py", line 149, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\cors.py", line 76, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\gzip.py", line 26, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\exceptions.py", line 79, in __call__
    raise exc
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\middleware\exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 21, in __call__
    raise e
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\routing.py", line 718, in __call__
    await route.handle(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\routing.py", line 341, in handle
    await self.app(scope, receive, send)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\routing.py", line 82, in app
    await func(session)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\fastapi\routing.py", line 289, in app
    await dependant.call(**values)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\gradio\routes.py", line 604, in join_queue
    session_info = await asyncio.wait_for(
  File "C:\Users\Freda\AppData\Local\Programs\Python\Python310\lib\asyncio\tasks.py", line 445, in wait_for
    return fut.result()
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\websockets.py", line 133, in receive_json
    self._raise_on_disconnect(message)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\starlette\websockets.py", line 105, in _raise_on_disconnect
    raise WebSocketDisconnect(message["code"])
starlette.websockets.WebSocketDisconnect: 1001
loading stable diffusion model: FileNotFoundError
Traceback (most recent call last):
  File "C:\Users\Freda\AppData\Local\Programs\Python\Python310\lib\threading.py", line 973, in _bootstrap
    self._bootstrap_inner()
  File "C:\Users\Freda\AppData\Local\Programs\Python\Python310\lib\threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\gradio\utils.py", line 707, in wrapper
    response = f(*args, **kwargs)
  File "D:\sd\stable-diffusion-webui-directml\modules\ui.py", line 2393, in <lambda>
    visible=shared.sd_model and shared.sd_model.cond_stage_key == "edit"
  File "D:\sd\stable-diffusion-webui-directml\modules\shared_items.py", line 128, in sd_model
    return modules.sd_models.model_data.get_sd_model()
  File "D:\sd\stable-diffusion-webui-directml\modules\sd_models.py", line 576, in get_sd_model
    load_model()
  File "D:\sd\stable-diffusion-webui-directml\modules\sd_models.py", line 663, in load_model
    checkpoint_info = checkpoint_info or select_checkpoint()
  File "D:\sd\stable-diffusion-webui-directml\modules\sd_models.py", line 269, in select_checkpoint
    raise FileNotFoundError(error_message)
FileNotFoundError: No checkpoints found. When searching for checkpoints, looked at:
 - file D:\sd\stable-diffusion-webui-directml\model.ckpt
 - directory D:\sd\stable-diffusion-webui-directml\models\Stable-diffusionCan't run without a checkpoint. Find and place a .ckpt or .safetensors file into any of those locations.

Stable diffusion model failed to load
loading stable diffusion model: FileNotFoundError
Traceback (most recent call last):
  File "C:\Users\Freda\AppData\Local\Programs\Python\Python310\lib\threading.py", line 973, in _bootstrap
    self._bootstrap_inner()
  File "C:\Users\Freda\AppData\Local\Programs\Python\Python310\lib\threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "D:\sd\stable-diffusion-webui-directml\venv\lib\site-packages\gradio\utils.py", line 707, in wrapper
    response = f(*args, **kwargs)
  File "D:\sd\stable-diffusion-webui-directml\modules\call_queue.py", line 57, in f
    res = list(func(*args, **kwargs))
  File "D:\sd\stable-diffusion-webui-directml\modules\call_queue.py", line 36, in f
    res = func(*args, **kwargs)
  File "D:\sd\stable-diffusion-webui-directml\modules\ui.py", line 1759, in optimize
    return optimize_sd_from_ckpt(
  File "D:\sd\stable-diffusion-webui-directml\modules\sd_olive_ui.py", line 67, in optimize_sd_from_ckpt
    unoptimized_dir, optimized_dir = ready(unoptimized_dir, optimized_dir)
  File "D:\sd\stable-diffusion-webui-directml\modules\sd_olive_ui.py", line 35, in ready
    unload_model_weights()
  File "D:\sd\stable-diffusion-webui-directml\modules\sd_models.py", line 881, in unload_model_weights
    send_model_to_cpu(sd_model or shared.sd_model)
  File "D:\sd\stable-diffusion-webui-directml\modules\shared_items.py", line 128, in sd_model
    return modules.sd_models.model_data.get_sd_model()
  File "D:\sd\stable-diffusion-webui-directml\modules\sd_models.py", line 576, in get_sd_model
    load_model()
  File "D:\sd\stable-diffusion-webui-directml\modules\sd_models.py", line 663, in load_model
    checkpoint_info = checkpoint_info or select_checkpoint()
  File "D:\sd\stable-diffusion-webui-directml\modules\sd_models.py", line 269, in select_checkpoint
    raise FileNotFoundError(error_message)
FileNotFoundError: No checkpoints found. When searching for checkpoints, looked at:
 - file D:\sd\stable-diffusion-webui-directml\model.ckpt
 - directory D:\sd\stable-diffusion-webui-directml\models\Stable-diffusionCan't run without a checkpoint. Find and place a .ckpt or .safetensors file into any of those locations.

Stable diffusion model failed to load
*** Error completing request
*** Arguments: ('Counterfeit-V3.0_fix_fp16.safetensors', '', 'vae', 'stable-diffusion-v1-5', 'stable-diffusion-v1-5', 'runwayml/stable-diffusion-v1-5', '', 'vae', 'stable-diffusion-v1-5', 'stable-diffusion-v1-5', True, True, True, True, True, True, True, True, True, True, 'euler', True, 512, False, '', '', '') {}
    Traceback (most recent call last):
      File "D:\sd\stable-diffusion-webui-directml\modules\call_queue.py", line 57, in f
        res = list(func(*args, **kwargs))
      File "D:\sd\stable-diffusion-webui-directml\modules\call_queue.py", line 36, in f
        res = func(*args, **kwargs)
      File "D:\sd\stable-diffusion-webui-directml\modules\ui.py", line 1759, in optimize
        return optimize_sd_from_ckpt(
      File "D:\sd\stable-diffusion-webui-directml\modules\sd_olive_ui.py", line 67, in optimize_sd_from_ckpt
        unoptimized_dir, optimized_dir = ready(unoptimized_dir, optimized_dir)
      File "D:\sd\stable-diffusion-webui-directml\modules\sd_olive_ui.py", line 35, in ready
        unload_model_weights()
      File "D:\sd\stable-diffusion-webui-directml\modules\sd_models.py", line 881, in unload_model_weights
        send_model_to_cpu(sd_model or shared.sd_model)
      File "D:\sd\stable-diffusion-webui-directml\modules\sd_models.py", line 632, in send_model_to_cpu
        if m.lowvram:
    AttributeError: 'NoneType' object has no attribute 'lowvram'

---

Additional information

At first installation of onnx, there is an error about websocket. You can fix it by using pip install httpx==0.24.1 Using arg --lowvram doesn't change anything. I tried with and without it.

DaveyDangerousDavid commented 6 months ago

I'm also having this issue. Clean install here as well on the newest version.

*** Error completing request
*** Arguments: ('Lykon/dreamshaper-7', '', 'vae', 'dreamshaper-7', 'dreamshaper-7', 'runwayml/stable-diffusion-v1-5', '', 'vae', 'stable-diffusion-v1-5', 'stable-diffusion-v1-5', True, True, True, True, True, False, True, True, True, True, 'euler', True, 512, False, '', '', '') {}
    Traceback (most recent call last):
      File "J:\python\Automatic\stable-diffusion-webui-directml\modules\call_queue.py", line 57, in f
        res = list(func(*args, **kwargs))
      File "J:\python\Automatic\stable-diffusion-webui-directml\modules\call_queue.py", line 36, in f
        res = func(*args, **kwargs)
      File "J:\python\Automatic\stable-diffusion-webui-directml\modules\ui.py", line 1759, in optimize
        return optimize_sd_from_ckpt(
      File "J:\python\Automatic\stable-diffusion-webui-directml\modules\sd_olive_ui.py", line 67, in optimize_sd_from_ckpt
        unoptimized_dir, optimized_dir = ready(unoptimized_dir, optimized_dir)
      File "J:\python\Automatic\stable-diffusion-webui-directml\modules\sd_olive_ui.py", line 35, in ready
        unload_model_weights(shared.sd_model)
      File "J:\python\Automatic\stable-diffusion-webui-directml\modules\sd_models.py", line 881, in unload_model_weights
        send_model_to_cpu(sd_model or shared.sd_model)
      File "J:\python\Automatic\stable-diffusion-webui-directml\modules\sd_models.py", line 632, in send_model_to_cpu
        if m.lowvram:
      File "J:\python\Automatic\stable-diffusion-webui-directml\venv\lib\site-packages\torch\nn\modules\module.py", line 1269, in __getattr__
        raise AttributeError("'{}' object has no attribute '{}'".format(
    AttributeError: 'ONNXStableDiffusionModel' object has no attribute 'lowvram'
DaveyDangerousDavid commented 6 months ago

here's a temp fix to optimize models https://www.youtube.com/watch?v=mKxt0kxD5C0

R-N commented 6 months ago

I have the same issue as @Freda-Chan. The error "AttributeError: 'NoneType' object has no attribute 'lowvram'" was thrown because there's no loaded checkpoint. It seems that webui can't find my checkpoints if webui was started with --olive. Starting it without --olive works. Perhaps it's set to only see optimized checkpoints?

The straightforward fix would be to simply check for None in send_model_to_cpu. It seems to be called just to unload the loaded checkpoints, so it should be fine to just not execute it if there's no loaded checkpoint.

    if m is not None:
        if m.lowvram:
            lowvram.send_everything_to_cpu()
        else:
            m.to(devices.cpu)
drone540 commented 6 months ago

Last time I installed Olive version it came with no checkpoint installed by default.

Did you follow the instructions in the pictures listed on the AMD website?

https://community.amd.com/t5/ai/updated-how-to-running-optimized-automatic1111-stable-diffusion/ba-p/630252

Do not follow the instructions about anaconda, or the command line stuff there as I believe that is outdated.

However the httpx part might apply as that still has not been fixed in requirements_onnx.txt

Start from: Go to the Olive optimization tab and start the optimization pass in Step 3

promputthisri commented 2 months ago

I received the error below. And fix it by export COMMANDLINE_ARGS="--use-cpu all --no-half --skip-torch-cuda-test --enable-insecure-extension-access" in the websui-user.sh. This is probably because it is trying to find GPU attribute in a CPU.

*** Arguments: ('task(zxmbqpdd6uuxvyg)', <gradio.routes.Request object at 0x15ae635b0>, 'a women', '', [], 1, 1, 7, 512, 512, False, 0.7, 2, 'Latent', 0, 0, 0, 'Use same checkpoint', 'Use same sampler', 'Use same scheduler', '', '', [], 0, 20, 'DPM++ 2M', 'Automatic', False, '', 0.8, -1, False, -1, 0, 0, 0, False, False, 'positive', 'comma', 0, False, False, 'start', '', 1, '', [], 0, '', [], 0, '', [], True, False, False, False, False, False, False, 0, False) {}
    Traceback (most recent call last):
      File "/Users/lee/stable-diffusion-webui/modules/call_queue.py", line 57, in f
        res = list(func(*args, **kwargs))
      File "/Users/lee/stable-diffusion-webui/modules/call_queue.py", line 36, in f
        res = func(*args, **kwargs)
      File "/Users/lee/stable-diffusion-webui/modules/txt2img.py", line 109, in txt2img
        processed = processing.process_images(p)
      File "/Users/lee/stable-diffusion-webui/modules/processing.py", line 832, in process_images
        sd_models.reload_model_weights()
      File "/Users/lee/stable-diffusion-webui/modules/sd_models.py", line 860, in reload_model_weights
        sd_model = reuse_model_from_already_loaded(sd_model, checkpoint_info, timer)
      File "/Users/lee/stable-diffusion-webui/modules/sd_models.py", line 793, in reuse_model_from_already_loaded
        send_model_to_cpu(sd_model)
      File "/Users/lee/stable-diffusion-webui/modules/sd_models.py", line 662, in send_model_to_cpu
        if m.lowvram:
    AttributeError: 'NoneType' object has no attribute 'lowvram'

---