MacBookPro M1 Pro 16G 安装Stable-Diffusion

2,399 阅读5分钟

前言

最近用了Midjourney,发现Midjourney的局限性:

1、 关键词限制,不知道什么样的词可能会触发关键词限制;

2、 排队,30美元版本排队时间太长,并且没办法使用队列;

3、 生成内容随机性强,垫图、相同关键词等方式,产生的图可控性太差;

看到了B站上很多使用Stable-Diffusion的教程,发现可控性强,并且没有那么多限制,决定尝试在本地部署,但是我的电脑是MacBookPro,M1,16G内存,扒拉别人分享图的参数来生成一张图,需要6、7分钟甚至更久(速度感人...),所以如果使用需求不高可以搞搞,追求效率的话也可以学别人去云端部署,下次再说。

在安装过程中碰到了很多的问题,发现网上的很多教程存在一个问题,对Python的版本要求不对,多数教程在说Python的版本为3.10,但是3.10无法安装gfpgan导致webui.sh无法执行。

这篇文章转载自知乎,并根据自己遇到的坑进行了修改。

❗️阅读须知:

(1)本文是适合纯小白的手把手教学,也适合灵活的进阶用户参考学习。

(2)我把文章定位为适用于M1芯片的Macbook,intel芯片也可以尝试,部分网友也有成功部署,需要安装特定的显卡驱动(如CUDA),还会遇到一些我也无法提供帮助的问题。

(3)必须有一个稳定的网络代理(科学上网),大部分安装环境都需要连接国外网站,稳定的网络代理可以减少大部分的报错信息。

(4)一定要安装Python 3.9版本

请确保你了解并符合这些条件,这样部署起来才会少碰壁、少烦恼……下面开始教学。

下载stable-diffusion-webui项目

一般情况下是使用"git clone"来克隆GitHub仓库的stable-diffusion-webui项目到本地的,但文件量比较大下载缓慢,建议使用我下载整理好的:

【「stable-diffusion-webui.zip」,点击链接下载】

这个文件只有4G左右,里面没有model和lora,后面会分享model和lora的下载地址。

其他方法:

考虑到一些强迫症的想要追求最纯净、最新的官方版本,请先跳转至本文 “日常使用与后续维护/更新方法” 处查看方法

下载Homebrew

如果直接在官网复制指令会因为国外网络问题无法正常下载,我们可以下载国内大学在码云分享的homebrew

打开终端,一般在启动台 “其他” 文件夹,或者command+空格,搜索 “终端” ,运行以下代码(回车):

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

输入 “1” 选择中科大版本,然后输入 “Y(yes)” ,直接输入开机密码(不显示) 开始下载

它弹窗让你先下载Git,我们同意,然后等待下载

然后在运行一遍代码和重复上面的操作,这次就下载brew本体了

下载完成,今后下载还是输入 “1” ,提示安装完成,复制它给你的指令运行

最后我们运行指令检查一下,没有出现error报错就行。

brew
brew doctor

下载Python3.9

接着使用brew下载python,继续在终端执行命令:

brew install cmake protobuf rust python@3.9 git wget

等待下载完成。

配置stable-diffusion-webui文件夹

⚠️注: 我个人建议是将stable-diffusion-webui文件夹放在路径:“/Users/你的用户名”,需要使用“open .”指令打开,在接下来的指令演示都默认在这个路径下执行。

新建终端,或者输入clear清除前面的记录,执行指令“open空格.”,回车。

open .

弹出一个文件窗口,把下载好的stable-diffusion-webui文件解压后拖进来

下载model、lora

我推荐比较热门的**model:“ChilloutMix”** 、Lora:“Korean Doll Likeness”

如果你想要官方原始的模型:stable-diffusion-v1-5

还有一个特别影响出图的色调文件:sd-vae-ft-mse-original at main

civitai.com/​civitai.co…

⬆️这个模型分享网站就是sd圈常说的C站,一开始国内访问速度还是可以的,现在必须有代理才可以访问,更多模型自己去探索吧。

运行./webui.sh文件

新开一个终端,运行这两个指令:

(记住这两个指令,最好是自己打熟练,中途报错、以后每次运行都会再用到)

cd stable-diffusion-webui/

./webui.sh

如果一开始你将stable-diffusion-webui文件夹放在其他路径,则cd+空格+将stable-diffusion-webui文件夹拖进终端,就能自动填充文件所在路径,如括号部分为自动填充:

cd (/Users/xxxx/xxxx/stable-diffusion-webui/)

运行之后他就开始下载需要的依赖,这个环节就是反馈报错最多的环节,99%都是网络问题,如果途中某个环节下载失败可以断开/切换梯子然后重新执行指令多尝试几次。

大功告成

相信大家最终都到达这个界面了吧,复制这个链接127.0.0.1:7860(这个链接只是本地离线的链接、终端关闭也就不能访问,看自己情况地址可能不同)在浏览器打开就可以美美地食用了~

红色框选的本地访问地址

日常使用与后续维护

我们关闭终端SD程序就终止运行了,再次使用还是执行这两个指令:

cd stable-diffusion-webui/

./webui.sh

更新方法:

将原来的“stable-diffusion-webui”文件夹全部删掉(记得先备份另外下载的.safetensors文件)

输入指令:

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

这个是默认将项目拷贝到路径:“/Users/你的用户名”,需要使用“open .”指令打开查看。

或者直接访问**GitHub项目主页**点击绿色按钮 “Code” 下载压缩包然后解压到自己想要的路径。

由于时间有限自己只学习了部署的知识,一些进阶操作的如插件、局部生成、训练模型、配置参数并不是很懂所以不作分享,可以学习一下这篇文章、这位作者大佬的其他文章:

蕃茄:Stable Diffusion 完美复制Korean doll likeness!(详细版,持续更新中!)1416 赞同 · 257 评论文章

结语:

按照网上的文章使用Python3.10安装,但是安装过程中出现了一个一个错误,尝试安装了3.9之后一次性安装成功。