前言
最近用了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
⬆️这个模型分享网站就是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之后一次性安装成功。