【本地化部署Stable Diffusion WebUI(MACOS安装)】
后台-插件-广告管理-内容页头部广告(手机) |
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、Stable Diffusion WebUI适配三类芯片
- 二、安装
- 1.安装git、conda等
- 2.选定目录及下载Github远程仓库文件
- 3.创建conda虚拟环境
- 4.安装依赖
- pip速度慢需添加国内pip源
- 5.运行
- 6.问题处理
- 缺openai模块等
- 手动git clone
- 类似的v1-5-pruned-emaonly.safetensors模型获取失败
- RuntimeError: "LayerNormKernelImpl" not implemented for 'Half'等
- 正常运行sdw的的话会自动访问http://127.0.0.1:7860/
- 命令行显示类似如下:
- 浏览器显示如下:
- 绘图时报错
- 很显然是绘图时需要访问huggingface.co下载模块
- 修改webu.sh
- 绘图时会有如下显示:
- 绘图结束显示
- 总结
前言
随着人工智能的不断发展,AI绘图热兴起,我也想加入到AI绘图大潮中。
一、Stable Diffusion WebUI适配三类芯片
此模型支持三类GPU芯片
- NVidia (recommended)
- AMD GPUs.
- Intel CPUs, Intel GPUs (bothintegrated and discrete) (我的mac属于此情况)
二、安装
说明:期间需要访问外网,自行实现巧妙上网
1.安装git、conda等
brew install cmake protobuf rust python@3.10 git wget miniconda- 1
2.选定目录及下载Github远程仓库文件
mkdir SDW cd SDW git clone git@github.com:openvinotoolkit/stable-diffusion-webui.git- 1
- 2
- 3
3.创建conda虚拟环境
创建虚拟环境
conda env create -p /Users/zhaoyao/Downloads/SDW/stable-diffusion-webui/automatic -f /Users/zhaoyao/Downloads/SDW/stable-diffusion-webui/environment-wsl2.yaml- 1
最后创建完成后显示如下:
# To activate this environment, use # # $ conda activate /Users/zhaoyao/Downloads/SDW/stable-diffusion-webui/automatic # # To deactivate an active environment, use # # $ conda deactivate- 1
- 2
- 3
- 4
- 5
- 6
- 7
激活环境
conda activate /Users/zhaoyao/Downloads/SDW/stable-diffusion-webui/automatic- 1
4.安装依赖
cd stable-diffusion-webui pip install -r requirements.txt- 1
- 2
pip速度慢需添加国内pip源
cd ~ mkdir .pip cd .pip touch pip.conf 在pip.conf文件中,添加以下内容: [global] index-url = https://pypi.doubanio.com/simple/ trusted-host = pypi.doubanio.com- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
5.运行
还有未安装的依赖在此步骤执行中会一次安装,当然有报错需要一次解决。
英特尔CPU+GPU的场景执行前环境要生效如下内容:
export PYTORCH_TRACING_MODE=TORCHFX export COMMANDLINE_ARGS="--skip-torch-cuda-test --precision full --no-half" ./webui.sh- 1
- 2
- 3
6.问题处理
运行./webui.sh会有很多报错
缺openai模块等
OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'openai/clip-vit-large-patch14' is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.- 1
手动git clone
可直接git clone
可以指定git代理实现
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
类似的v1-5-pruned-emaonly.safetensors模型获取失败
https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors- 1
此文件较大有4G多,建议通过从源网站下载到云盘,再从云盘下载到本地,然后让入目标文件夹如:stable-diffusion-uebul/models/Stable-diffusion/
RuntimeError: “LayerNormKernelImpl” not implemented for 'Half’等
RuntimeError: "LayerNormKernelImpl" not implemented for 'Half' /Users/zhaoyao/Downloads/SDW/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/functional.py", line 2515, in layer_norm RuntimeError: "addmm_impl_cpu_" not implemented for 'Half' /Users/zhaoyao/Downloads/SDW/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/modules/linear.py", line 114, in forward- 1
- 2
- 3
- 4
- 5
那么执行时添加如下参数:
./webui.sh --precision full --no-half- 1
正常运行sdw的的话会自动访问http://127.0.0.1:7860/
命令行显示类似如下:
浏览器显示如下:
注意选择支持intel GPU的script,OpenVINO™ Acceleration Script
绘图时报错
类似如下报错
报错显示如下:
- 1
以及
Traceback (most recent call last): File "/Users/zhaoyao/Downloads/SDW/stable-diffusion-webui/venv/lib/python3.10/site-packages/urllib3/connection.py", line 198, in _new_conn sock = connection.create_connection( File "/Users/zhaoyao/Downloads/SDW/stable-diffusion-webui/venv/lib/python3.10/site-packages/urllib3/util/connection.py", line 85, in create_connection raise err File "/Users/zhaoyao/Downloads/SDW/stable-diffusion-webui/venv/lib/python3.10/site-packages/urllib3/util/connection.py", line 73, in create_connection sock.connect(sa) TimeoutError: timed out The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/Users/zhaoyao/Downloads/SDW/stable-diffusion-webui/venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 793, in urlopen response = self._make_request( File "/Users/zhaoyao/Downloads/SDW/stable-diffusion-webui/venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 491, in _make_request raise new_e File "/Users/zhaoyao/Downloads/SDW/stable-diffusion-webui/venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 467, in _make_request self._validate_conn(conn) File "/Users/zhaoyao/Downloads/SDW/stable-diffusion-webui/venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 1099, in _validate_conn conn.connect() File "/Users/zhaoyao/Downloads/SDW/stable-diffusion-webui/venv/lib/python3.10/site-packages/urllib3/connection.py", line 616, in connect self.sock = sock = self._new_conn() File "/Users/zhaoyao/Downloads/SDW/stable-diffusion-webui/venv/lib/python3.10/site-packages/urllib3/connection.py", line 207, in _new_conn raise ConnectTimeoutError( urllib3.exceptions.ConnectTimeoutError: (- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
很显然是绘图时需要访问huggingface.co下载模块
考虑直接添加代理的方式,因为不可能每次画图每次需要下载模块的时候每次手动下载
修改webu.sh
在此文件while [[ “$KEEP_GOING” -eq “1” ]]; 上一行添加一行如下内容:
export HF_ENDPOINT=https://hf-mirror.com- 1
绘图时会有如下显示:
绘图结束显示
总结
参考于https://github.com/openvinotoolkit/stable-diffusion-webui
https://openai.wiki/stable-diffusion-webui-localization.html。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
在线投稿:投稿 站长QQ:1888636
后台-插件-广告管理-内容页尾部广告(手机) |