Macos下Stable Diffusion从安装到生成图片爬坑过程

​ 今天跟着zkl学习了一天用Stable Diffusion生成图片的过程,用的是谷歌的colab免费提供的服务器。但是玩了几个小时就说到期不让用了,所以我想着本地搭建一下。

​ 我的设备是:MacBook M1Max,是arm架构的,本来以为估计是装不完,以苹果这B arm架构肯定坑特多,没想到一路畅通都搞完了。先试试看。后期打算用4090跑。

0x00 安装stable-diffusion-webui

stable-diffusion-webui需要的环境是:cmake,protobuf,rust,python@3.10,git,wget

1
brew install cmake protobuf rust python@3.10 git wget

webui在github上,需要使用git clone去拉取到本地,大家需要自备梯子

1
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

0x01 引擎选择

因为训练图片是需要引擎的,有的引擎并不支持arm架构(具体原因不知道)

按照官方的说法,需要到:https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon#downloading-stable-diffusion-models选一个自己喜欢的引擎集下载,然后到本地看看能不能尝试装载这个引擎。如果可以的话就接着用。

下载好之后放到stable-diffusion-webui/models/Stable-diffusion目录下。就可以使用了。

不过我这里是推荐扎克力发的引擎:

https://huggingface.co/TASUKU2023/Chilloutmix/resolve/main/Chilloutmix-Ni.safetensors

大家也可以下载这个引擎丢进models目录下,用这个引擎跑。

丢进去之后切回到stable-diffusion-webui目录下,执行

1
./webui.sh

我在安装中,以为自己电脑默认是python3.10,所以没有管。遇到报错才发现自己是3.9,顺便推荐一下pyenv,用来管理自己的python版本挺好用的。使用如下命令可以切到python3.10.5

1
2
3
4
5
brew install pyenv
pyenv install 3.10.5
pyenv global 3.10.5 # 全局都是用3.10.5
cd stable-diffusion-webui
./webui.sh

后续所有ui的操作都可以在终端查看实时进度,多留意终端的信息。

执行下来就没什么问题了,接下来就是疯狂装插件

1
2
3
4
5
6
7
8
9
10
11
12
cd stable-diffusion-webui

wget https://raw.githubusercontent.com/camenduru/stable-diffusion-webui-scripts/main/run_n_times.py -O stable-diffusion-webui/scripts/run_n_times.py

git clone https://github.com/deforum-art/deforum-for-automatic1111-webui extensions/deforum-for-automatic1111-webui

git clone https://github.com/AlUlkesh/stable-diffusion-webui-images-browser extensions/stable-diffusion-webui-images-browser

git clone https://github.com/camenduru/stable-diffusion-webui-huggingface extensions/stable-diffusion-webui-huggingface

git clone -b v2.0 https://github.com/camenduru/sd-civitai-browser extensions/sd-civitai-browser

在第一遍安装完成之后,需要在终端或者webui界面上重启一下Stable Diffusion。

往后启动的命令就是

1
./webui.sh