最近,花了一周时间,断断续续调试解决安装过程中遇到的问题,终于完成了stable-diffusion-webui的启动并成功生成了图片。
在这里做个笔记,也顺便分享给大家,希望能帮助少踩一些坑。
下面,一起学习stable-difffusion-webui吧。
前期准备
硬件设备
华为Matebook 16s
处理器 13th Gen Intel(R) Core(TM) i9-13900H 2.60 GHz
机带 RAM 32.0 GB (31.7 GB 可用)
系统类型 64 位操作系统, 基于 x64 的处理器
笔和触控 为 10 触摸点提供触控支持
版本 Windows 11 家庭中文版
版本 23H2
安装日期 2023/10/12
操作系统版本 22631.3593
体验 Windows Feature Experience Pack 1000.22700.1003.0
操作步骤
- 安装Python。
- 安装Git。
- 安装Rust。
- 克隆stable-diffusion-webui到本地电脑。
- 下载stable-diffusion模型。
- 运行stable-diffusion-webui。
注意事项
电脑是Intel核显(Intel(R) Iris(R) Xe Graphics),所以选择的stable-diffusion-webui,需要用支持 Intel 显卡的版本,即OpenVINO版本。
OpenVINO下载链接:https://github.com/openvinotoolkit/stable-diffusion-webui
Python版本:Python 3.10.11
PS:关于Python 版本,最开始下载的是Python 3.12.3版本,但是安装依赖包时提示不支持,提示要下载Python3.8.x版本。接着又下载安装了3.8.x版本,发现在安装依赖包时又提示不支持。最后下载了Python3.10.11才能把必要的依赖包安装完成。
安装Python
参考文章【AI学习】保姆级教程,手把手如何在电脑上安装Python(Windows用户),完成Python安装。
PS:需要注意的是Python版本,下载最新的3.12.3版本,安装依赖包时提示不支持,建议选择3.10.x版本。
安装Git
参考文章【AI学习】保姆级教程,手把手如何在电脑上安装Git(Windows用户),完成Git安装。
安装Git是为了更方便将stable-diffusion-webui克隆至本地电脑上。
安装Rust
参考文章【AI学习】保姆级教程!手把手教你如何下载安装Rust?(AI协助解决问题),完成Rust安装。
安装Rust是为了解决构建tokenizers包时出现错误问题。
克隆CPU版本的stable-diffusion-webui
进入本地电脑的D盘的stable-diffusion文件夹下,新建文件夹openvino。
以管理员身份运行命令提示符窗口,进入openvino文件夹路径下。
输入命令行如下:
用Git克隆https://github.com/openvinotoolkit/stable-diffusion-webui.git项目。
输入命令行:
git clone https://github.com/openvinotoolkit/stable-diffusion-webui.git
克隆项目成功,看到openvino文件夹多了stable-diffusion-webui文件夹项目。
到这里,完成了CPU版本的stable-diffusion-webui项目克隆。
下载Stable Diffusion模型
在浏览器输入https://huggingface.co/runwayml/stable-diffusion-v1-5/blob/main/v1-5-pruned-emaonly.safetensors,按回车进入stable diffusion模型下载页面。点击红框中的【download】文字,下载模型。
下载中,有4G,下载需要一些时间。
下载好模型后,将其复制粘贴至当前项目的models/Stable-diffusion文件夹路径下。
D:\stable-diffusion\openvino\stable-diffusion-webui\models\Stable-diffusion
PS:后续需要启用新的模型也是放入该路径下即可。
更多模型下载可进入下面两个网站下载:
https://civitai.com/
https://www.liblib.art/
创建Python虚拟环境
以管理员身份运行命令提示符,进入命令提示符窗口。
进入d盘,输入命令行:d:
进入stable-diffusion-webui文件夹,输入命令行:cd D:\stable-diffusion\openvino\stable-diffusion-webui
创建名称为sd的虚拟环境,输入命令行:python -m venv sd
激活Python虚拟环境
以管理员身份运行命令提示符,进入命令提示符窗口。
进入d盘,输入命令行:d:
进入文件夹D:\stable-diffusion\openvino\stable-diffusion-webui\venv\Scripts路径下,输入命令行:cd D:\stable-diffusion\openvino\stable-diffusion-webui\venv\Scripts。
进入文件夹后,输入命令行:activate,激活环境。
进入sd虚拟环境。
到这里,咱们成功激活sd虚拟环境,接下来可以在这里启动stable-diffusion-webui啦。
启动stable-diffusion-webui
升级pip版本
在sd虚拟环境中,安装依赖包前,先把pip升级至最新版本,避免后续因pip版本导致安装失败的问题。
命令行:python.exe -m pip install --upgrade pip
启动stable-diffusion-webui
第一次启动stable-diffusion-webui,缺少的依赖包会自动下载并安装。
进入(sd) D:\stable-diffusion\openvino\stable-diffusion-webui>路径下,输入启动项目命令行:py launch.py --skip-torch-cuda-test --precision full --no-half
PS:由于我的电脑没有 NVIDIA 显卡,需要在运行launch.py时增加“跳过 PyTorch CUDA 测试,使用全精度,禁止半精度”,命令行如下:py launch.py --skip-torch-cuda-test --precision full --no-half
首次启动下载安装依赖包耗时比较久,锅头网速1M/S左右,约耗时1小时20分钟。
(sd) D:\stable-diffusion\openvino\stable-diffusion-webui\sd\Scripts>python.exe -m pip install --upgrade pip
Requirement already satisfied: pip in d:\stable-diffusion\openvino\stable-diffusion-webui\sd\lib\site-packages (23.0.1)
Collecting pip
Downloading pip-24.0-py3-none-any.whl (2.1 MB)
---------------------------------------- 2.1/2.1 MB 940.0 kB/s eta 0:00:00
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 23.0.1
Uninstalling pip-23.0.1:
Successfully uninstalled pip-23.0.1
Successfully installed pip-24.0
(sd) D:\stable-diffusion\openvino\stable-diffusion-webui\sd\Scripts>py launch.py --skip-torch-cuda-test --precision full --no-half
D:\Program Files\python310\python.exe: can't open file 'D:\\stable-diffusion\\openvino\\stable-diffusion-webui\\sd\\Scripts\\launch.py': [Errno 2] No such file or directory
(sd) D:\stable-diffusion\openvino\stable-diffusion-webui\sd\Scripts>cd ..
(sd) D:\stable-diffusion\openvino\stable-diffusion-webui\sd>cd ..
(sd) D:\stable-diffusion\openvino\stable-diffusion-webui>py launch.py --skip-torch-cuda-test --precision full --no-half
fatal: No names found, cannot describe anything.
Python 3.10.11 (tags/v3.10.11:7d4cc5a, Apr 5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)]
Version: 1.6.0
Commit hash: e5a634da06c62d72dbdc764b16c65ef3408aa588
Installing torch and torchvision
Looking in indexes: https://pypi.org/simple, https://download.pytorch.org/whl/cu118
Collecting torch==2.0.1
Downloading https://download.pytorch.org/whl/cu118/torch-2.0.1%2Bcu118-cp310-cp310-win_amd64.whl (2619.1 MB)
---------------------------------------- 2.6/2.6 GB 581.4 kB/s eta 0:00:00
Collecting torchvision==0.15.2
Downloading https://download.pytorch.org/whl/cu118/torchvision-0.15.2%2Bcu118-cp310-cp310-win_amd64.whl (4.9 MB)
---------------------------------------- 4.9/4.9 MB 792.0 kB/s eta 0:00:00
Collecting filelock (from torch==2.0.1)
Downloading filelock-3.14.0-py3-none-any.whl.metadata (2.8 kB)
Collecting typing-extensions (from torch==2.0.1)
Downloading typing_extensions-4.11.0-py3-none-any.whl.metadata (3.0 kB)
Collecting sympy (from torch==2.0.1)
Downloading https://download.pytorch.org/whl/sympy-1.12-py3-none-any.whl (5.7 MB)
---------------------------------------- 5.7/5.7 MB 531.7 kB/s eta 0:00:00
Collecting networkx (from torch==2.0.1)
Downloading networkx-3.3-py3-none-any.whl.metadata (5.1 kB)
Collecting jinja2 (from torch==2.0.1)
Downloading jinja2-3.1.4-py3-none-any.whl.metadata (2.6 kB)
Collecting numpy (from torchvision==0.15.2)
Downloading numpy-1.26.4-cp310-cp310-win_amd64.whl.metadata (61 kB)
---------------------------------------- 61.0/61.0 kB 1.6 MB/s eta 0:00:00
Collecting requests (from torchvision==0.15.2)
Downloading requests-2.32.2-py3-none-any.whl.metadata (4.6 kB)
Collecting pillow!=8.3.*,>=5.3.0 (from torchvision==0.15.2)
Downloading pillow-10.3.0-cp310-cp310-win_amd64.whl.metadata (9.4 kB)
Collecting MarkupSafe>=2.0 (from jinja2->torch==2.0.1)
Downloading https://download.pytorch.org/whl/MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl (17 kB)
Collecting charset-normalizer<4,>=2 (from requests->torchvision==0.15.2)
Downloading charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl.metadata (34 kB)
Collecting idna<4,>=2.5 (from requests->torchvision==0.15.2)
Downloading idna-3.7-py3-none-any.whl.metadata (9.9 kB)
Collecting urllib3<3,>=1.21.1 (from requests->torchvision==0.15.2)
Downloading urllib3-2.2.1-py3-none-any.whl.metadata (6.4 kB)
Collecting certifi>=2017.4.17 (from requests->torchvision==0.15.2)
Downloading certifi-2024.2.2-py3-none-any.whl.metadata (2.2 kB)
Collecting mpmath>=0.19 (from sympy->torch==2.0.1)
Downloading https://download.pytorch.org/whl/mpmath-1.3.0-py3-none-any.whl (536 kB)
---------------------------------------- 536.2/536.2 kB 560.7 kB/s eta 0:00:00
Downloading pillow-10.3.0-cp310-cp310-win_amd64.whl (2.5 MB)
---------------------------------------- 2.5/2.5 MB 938.3 kB/s eta 0:00:00
Downloading filelock-3.14.0-py3-none-any.whl (12 kB)
Downloading jinja2-3.1.4-py3-none-any.whl (133 kB)
---------------------------------------- 133.3/133.3 kB 984.2 kB/s eta 0:00:00
Downloading networkx-3.3-py3-none-any.whl (1.7 MB)
---------------------------------------- 1.7/1.7 MB 820.2 kB/s eta 0:00:00
Downloading numpy-1.26.4-cp310-cp310-win_amd64.whl (15.8 MB)
---------------------------------------- 15.8/15.8 MB 904.1 kB/s eta 0:00:00
Downloading requests-2.32.2-py3-none-any.whl (63 kB)
---------------------------------------- 63.9/63.9 kB 383.3 kB/s eta 0:00:00
Downloading typing_extensions-4.11.0-py3-none-any.whl (34 kB)
Downloading certifi-2024.2.2-py3-none-any.whl (163 kB)
---------------------------------------- 163.8/163.8 kB 1.1 MB/s eta 0:00:00
Downloading charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl (100 kB)
---------------------------------------- 100.3/100.3 kB 1.2 MB/s eta 0:00:00
Downloading idna-3.7-py3-none-any.whl (66 kB)
---------------------------------------- 66.8/66.8 kB 898.3 kB/s eta 0:00:00
Downloading urllib3-2.2.1-py3-none-any.whl (121 kB)
---------------------------------------- 121.1/121.1 kB 786.0 kB/s eta 0:00:00
Installing collected packages: mpmath, urllib3, typing-extensions, sympy, pillow, numpy, networkx, MarkupSafe, idna, filelock, charset-normalizer, certifi, requests, jinja2, torch, torchvision
Successfully installed MarkupSafe-2.1.5 certifi-2024.2.2 charset-normalizer-3.3.2 filelock-3.14.0 idna-3.7 jinja2-3.1.4 mpmath-1.3.0 networkx-3.3 numpy-1.26.4 pillow-10.3.0 requests-2.32.2 sympy-1.12 torch-2.0.1+cu118 torchvision-0.15.2+cu118 typing-extensions-4.11.0 urllib3-2.2.1
Installing clip
Installing open_clip
Installing requirements for CodeFormer
Installing requirements
Launching Web UI with arguments: --skip-torch-cuda-test --precision full --no-half
no module 'xformers'. Processing without...
no module 'xformers'. Processing without...
No module 'xformers'. Proceeding without it.
Warning: caught exception 'Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from http://www.nvidia.com/Download/index.aspx', memory monitor disabled
Calculating sha256 for D:\stable-diffusion\openvino\stable-diffusion-webui\models\Stable-diffusion\stableDiffusionXL_v10Roundeyes.safetensors: Running on local URL: http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`.
Startup time: 4703.9s (prepare environment: 4677.7s, import torch: 10.2s, import gradio: 3.8s, setup paths: 4.1s, initialize shared: 0.6s, other imports: 3.2s, setup codeformer: 0.2s, load scripts: 2.8s, create ui: 1.0s, gradio launch: 0.2s).
8744a0dc449420be1ef1cc51588fe4388b395ce1c17166e67edccfa7d4a3c40a
Loading weights [8744a0dc44] from D:\stable-diffusion\openvino\stable-diffusion-webui\models\Stable-diffusion\stableDiffusionXL_v10Roundeyes.safetensors
Creating model from config: D:\stable-diffusion\openvino\stable-diffusion-webui\repositories\generative-models\configs\inference\sd_xl_base.yaml
Applying attention optimization: InvokeAI... done.
Model loaded in 16.5s (calculate hash: 8.4s, load weights from disk: 0.9s, create model: 0.7s, apply weights to model: 3.3s, apply float(): 2.3s, calculate empty prompt: 0.9s).
成功打开stable-diffusion-webui。
尝试生成一张图。
提示词:a dog smile。
切换模型也能正常生成图片了。
但内存一下子被拉大了到了27.7G,几乎用完了。
CPU:13th Gen Intel(R) Core(TM) i9-13900H,拉高了很多。
GPU:Intel(R) Iris(R) Xe Graphics,没被用起来。
到这里,咱们完成了stable-diffusion-webui安装运行,并成功在本地电脑绘制了图片。
但是由于硬件条件有限,没有英伟达显卡加持,文生图的耗时还是很久,这台电脑运行文生图仍然很吃力。