当前位置:首页|资讯|Stable Diffusion|Midjourney|编程

AI画图神器stable diffusion的webui及其在Mac m2上的部署

作者:方块九_XL发布时间:2023-05-09

全文共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本地部署的绘图界面。如下:

stabel-diffusion webui界面

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帮你画图啦。

虽然大致能画出想要的感觉,但细节真的经不起推敲,或许在模型,或许需要更多工具才能画你所想,慢慢探索吧。

另外。为啥这些模型,我只说画个女生,可画出来的女生🐻都那么挺~



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1