Windows和Colab环境下备受StableDiffusion用户欢迎的Automatic1111现在也可以在Apple Silicon Mac上使用了。
得益于M1/M2内存显存共用的机制,只要选了足够大内存的款,跑SD1.5,30 sample steps,576x1024的图,90秒就能出一张图了,可以愉快的在家画小姐姐了。
前提条件
必须安装homebrew. 如果没有装过,遵循如下步骤:
- 打开App Store搜索xcode,安装。
- 打开Terminal,输入 xcode-select --install,静待安装完毕。
环境构建
请在Terminal中执行以下命令。将自动安装Automatic1111运行所需的库。如果在执行过程中需要输入密码,请输入Mac登录密码。
brew install cmake protobuf rust python@3.10 git wget
下载Automatic1111
请从 GitHub 下载 "automatic1111" 的文件,然后打开终端,执行以下命令。完成后,将在你的用户文件夹的dev目录中创建一个名为 "stable-diffusion-webui" 的文件夹。
mkdir ~/dev
cd ~/dev
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
配置模型
Automatic1111本身只是个网站,方便大家生成图片。大家还需要先从https://huggingface.co/或者https://civitai.com/上下载ckpt文件,即用于生成图片的模型。
大家可以试试 protogen ,这个模型可以生成的风格很多,写实和二次元都手到擒来。
点击右上角的“Download”,可以下载到一个ckpt结尾的文件。将其放到刚才stable-diffusition-webui/Models/Stable-diffusion/目录下。
修改配置以适配Apple Silicon
由于运行automatic1111默认会使用cuda加速,而M1/M2 Mac并不支持,所以需要编辑stable-diffusition-webui/webui-user.sh文件。这个文件里应该都是被注释掉的内容。请加入下列内容以避免使用cuda加速。
export COMMANDLINE_ARGS="--skip-torch-cuda-test --no-half"
请注意,不要按照这篇文章的指示使用--upcast-sampling参数和--opt-sub-quad-attention。加了以后生成图反而变慢。
启动Automatic1111
请打开终端,进入stable-diffusion-webui目录。
如果您不知道如何移动,请右键单击在安装文件夹中创建的 "stable-diffusion-webui",然后选择 "在文件夹中打开终端" 以启动终端。
请在终端中执行以下命令:
./webui.sh
国内的朋友请注意,由于某些文件是通过github下载的,而国内对于github的支持一言难尽,所以执行的时候请务必架着全局梯子进行。
如果由于网络问题,执行中断了也不要紧。webui.sh会自动记忆已经完成的步骤,再执行一次即可。
Running on local URL: http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`.
由于需要下载必要的文件(pytorch,sd基本模型)很慢,因此在第一次启动时可能需要2个小时。没有进度条,请就这么放着,执行完会出现上述内容。
访问Webui
打开浏览器,访问以下网址:
http://127.0.0.1:7860
看到上面的界面即表示成功配置完毕了!开始愉快的生成小姐姐吧