全文共3个部分。第一次写专栏,也是整理一下花时间才弄通的方法。
前言
春去夏来,想换个电脑壁纸,但发现网上的壁纸要么难看,要么好看的得不到高分辨率。AI画图已经火得太久了,关键这玩意竟然能画出如此众多惊艳的图,这怎么能不去玩一玩呢。说明一下,本文插图除代码部分,其他都是AI生产。
AI画图目前两大主流:Midjourney和stable diffusion(本文简称SD)。其中
Midjourney从这里传送:https://www.midjourney.com/,
stable diffusion走这里:https://stablediffusionweb.com/。
遗憾的是这两大主流都是国外团队打造的,但可喜的是stable diffusion开源!或许这正是AI绘画能火上加火的原因之一吧。因为是国外团队打造的,所以在没有科学上网的情况下,点击两个链接在线上体验AI绘画就……,为什么不在本地部署一下呢,于是有了这篇文章。
开源就有太多可能了!
但目前还是要说明,没有科学上网,还是很难完整安装。后续把相关资料整理起来,共享给大家。
准备
很明显这如果是一篇普通介绍技术的文章,那么就不会这么“图文并茂”和有趣了。如你所见UP已经部署了SD,已经开始抽卡。需说明的是为节约时间降低了图片分辨率(实际上主要是因为硬件跟不上)
SD的开源,也就导致它相当“不规范”,不能直接拿来即用。是否有一个既能保证自主性,又方便交互的东西来玩SD呢(光看着代码画图是真的不方便,也不够艺术)——所以有了本文介绍的stable-diffusion-webui。
stable-diffusion-webui文如其名,是SD的web UI,即为SD套了一个基于浏览器的前端操作界面。由于是图像应用,带有NVIDIA显卡的设备就很香了,所以大多的部署经验和开发都是针对win系统+cuda驱动,可惜UP是MAC,虽然曾为它的M2芯片骄傲过。所以本文针对Mac说说怎么部署。咱们开始吧!
安装
整个安装基本参照官方给出的方案开展,链接在这里:https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon
1.安装准备
去这里https://brew.idayer.com。安装Homebrew。方法:打开你的 终端(这个在应用的某个位置能找到),输入(需要科学上网)
Homebrew是一个类似conda的代码管理器,官方推荐用它来安装相关内容。UP曾以为已经装了anaconda可以不用这个,结果发现装了一大圈后不能正常运行,总是存在某些依赖不能加载,于是全部扔进了 废纸篓 重来。
2.安装相关依赖
照样打开。终端,执行:
3.拉SD的代码包
从外网拉代码咱这一步得科学上网了。
4.启动
这一步持续的时间比较长,有个心理准备。
这一步先到stable-diffusion-webui目录下,然后执行./webui.sh即可。代码如下
需要说明的是,这一步会自己创建一个python虚拟环境,基于python3.10以上版本,并且需要下载大量依赖的包,需要科学上网。但即便科学上网,有的依赖因为太大还是很难下载。这里把几个坑总结如下:
(1)几个虚拟环境下的包安装失败
你可能会遇到:gfpgan、clip、open_clip安装失败。这里采用手动安装的方式实现,以open_clip的实现为例:
https://后边的网址是对应包的git地址,
gfpgan是:https://github.com/TencentARC/GFPGAN.git
clip是:https://github.com/openai/CLIP.git
open_clip是:https://github.com/mlfoundations/open_clip.git
(2)有几个包非常大,但位置不在虚拟环境里,只能手动下载,再修改名字。
如果报错taming-transformers、k-diffusion、CodeFormer、BLIP安装失败,则到repositories目录下,手动克隆,这里以taming-transformers为例:
其他几个的代码如下
如果你再次在终端执行./webui.sh 后, 出现下面的内容,则代表你stable diffusion webui搭建好了。但是你还没法开始画图,因为还没有装填弹药(模型)。
5.下载模型
模型主要分为两类:CHECKPOINT和LORA,他们都以.safetensors结尾。但通常CHECKPOINT比LORA大很多,CHECKPOINT一般在2-5G左右,而LORA在几十M到144M不等。主要是因为CHECKPOINT一般是完整的模型,一般包含了训练和推理模块;而LORA是一个微调模型,只存了部分参数。通常两者混合使用以产生各种魔法效果。
模型的网站有C站(需要科学上网)和国内的(),大家可以到这些网站去逛逛。这里给出几个经常搜到的模型:
CHECKPOINT类:chilloutmix(实景类比较多)、Couterfeit(二次元,绘画,非常强)
LORA类:koreanDollLikeness(顾名思义,韩风,出真人小姐姐是真的强)、hanfu(用拼音去顾名思义:汉服)。
为了不影响我们快速体验SD-webui画图,重点先说一下CHECKPOINT模型的安装:
CHECHPOINT类模型放到../stabel-diffusion-webui/models/Stable-diffusion目录下就行,这个目录有一个.txt文件,也说了把checkpoints放这儿。
6.画图
执行./webui.sh,稍等片刻
在浏览器打开这个地址:http://127.0.0.1:7860。你就可以看到我们在你mac本地部署的绘图界面。如下:
7.LORA类模型安装
为了让大家舒爽的绘图,这里扩展一下LORA的使用。
(1)LORA模型是扩展模型,他本身不属于sd-webui项目的范围,所以通过给webui安装扩展(extensions)的方式添加。扩展的安装两个方法:
(a)手动克隆到../stabel-diffusion-webui/extensions目录下,即cd到../stabel-diffusion-webui/extensions目录,然后执行
(b)这个方法通过在UI界面直接安装。首先启动webui,然后到浏览器地址下选择Extensions--Install from URL,输入下面的地址,点击Install。等几分钟就可以。
https://github.com/kohya-ss/sd-webui-additional-networks
(2)将下载的LORA类模型放到两个地方:(a)../stabel-diffusion-webui/models/Lora;(b)../stabel-diffusion-webui/extensions/sd-webui-additional-net/models/lora.
需要注意的是,在没有安装additional-networks的时候,是没有第二个目录的。
到这里,在mac上你就可以通过浏览器,借鉴一下别人的描述,让AI帮你画图啦。
虽然大致能画出想要的感觉,但细节真的经不起推敲,或许在模型,或许需要更多工具才能画你所想,慢慢探索吧。
另外。为啥这些模型,我只说画个女生,可画出来的女生🐻都那么挺~