Strava

Mac 本地部署Stable-difusion,坑都填完了,开始炼丹~

前言(唠叨)  

      工作与生活城市等连续变化,许久不写博客了,但我骨子里还是热爱新鲜(折腾)技术的,在国内刚刚出现之际,我就收到了关注的公众号各种推送,在C站里以前大多是二次元风格的model,当时我十分惊叹于lora+chilloutmix实现的逼真效果,伟大的技术!我粗浅的了解后在朋友圈感叹与展望了一番便淡忘了,没想到啊,突然短短半个月爆🔥了起来,在好奇心的驱使下我也常常逛C站,里面国人也是频频出没,不过画风一言难尽,作者原话奉上:Please be responsible for your generations and creations! Do not use them for any malicious intent or harm in any form, and be respectful!
      扯远了,总而言之,为什么写这个?近来有朋友在问,而且是mac环境(这里算是小众),那我刚好有一台老机器在用,就部署一下试试哈,分享给需要的人。

1.准备

当前配置:

  • macos 12.6
  • 1.8 GHz 双核Intel Core i5
  • 8 GB 1600 MHz DDR3

显存什么的当然是越高越好啦,然后把提前uu加速器准备好

1.2 下载stable-diffusion-webui项目
大体两个途径:

1.2.1下载的大佬的整合包

星空整合包地址:https://www.bilibili.com/video/BV16j411A7BL (推荐)

秋叶整合包地址:https://www.bilibili.com/video/BV17d4y1C73R

秋叶启动器地址:https://www.bilibili.com/video/BV1ne4y1V7QU (推荐)

下载解压:       stable-diffusion-webui.zip  (夸克网盘)

1.2.2 git

你不相信上面的安全性也可以 git clone,在github一搜就有
网盘的的文件大小约4g,没有模型和lora,后续会将如何下载,很简单。

1.3 python环境配置
1.3.1 通过anaconda 创建虚拟环境
需要注意把python版本固定在3.10,这里需要一点命令行基础,不清楚的可以去看看我以前写的随笔:https://www.cnblogs.com/cheflone/p/12911331.html,很快能得到解决。
什么?anaconda是什么,点这里下载。

1.3.2 homebrew
这是个mac的包管理器,非常强大,现在官网居然下不了(我学那会还可以使用),那就下载国内大学分享的,在mac的terminal中输入如下代码,回车执行:

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

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

按提示检查一下brew有没有问题:

brew
brew doctor

没问题后,接着下载python 3.10,在终端接着输入:

brew install cmake protobuf rust python@3.10 git wget
#这里代码执行过程中如果报错,按照提示解决,一般是你的brew初次使用配置没完善,很好解决

 

 

 

1.4 配置stable-difusion-webui文件夹

这时候stable-difusion-webui下好了吧,把它解压放在用户目录下。

1.4.1 下载model、lora
当然推荐最热门的model:“ChilloutMix”Lora:“Korean Doll Likeness”

这里还有个影响出图的色调文件:sd-vae-ft-mse-original at main一并下载

更多模型精彩在这里,还是建议有原则使用里面的东西

model安装:

将safetensors文件放到文件路径:stable-diffusion-webui/models/Stable-diffusion

lora安装:

将safetensors文件放到文件路径:stable-diffusion-webui/models/Lora

vae安装:

将safetensors文件放到文件路径:stable-diffusion-webui/models/Vae

 

 

 1.5 运行程序

这里是最容易出问题的地方,我在过程中会写出我遇到的问题以及解决方法,如果你有新情况,也别担心,毕竟搜索引擎等你用呢,嘿嘿

1.5.1

打开一个新的终端(terminal),找到你的stable-diffusion-webui绝对路径,可以通过‘pwd’查看或者直接将stable-diffusion-webui文件夹拖进终端,就能自动填充文件路径。然后输入代码启动程序:

cd stable-diffusion-webui/

./webui.sh

运行之后他就开始下载需要的依赖,有梯子的用梯子,也可以尝试上面我让准备的UU加速器,在UU搜索“学术资源”运行代理,可以帮助我们访问如GitHub的国际性网站。(如果途中某个环节下载失败可以尝试断开切换使用梯子来下载,有时候不用速度更快,但默认还是挂着代理)

 

 

 

1.5.2 可能出现的问题

1、pip安装环境报错:This error originates from a subprocess, and is likely not a problem with pip

这个就是单纯的网络问题,断开/连接代理然后重新执行“./webui.sh”

2、AttributeError: 'NoneType' object has no attribute 'pop'

这个问题基本上和第3点同时触发,直接看第4点。

3、Stable diffusion model failed to load upon startup

往上面看有这句:“The file may be malicious, so the program is not going to read it.(该文件可能是恶意的,因此程序不会读取它。)”这个就是模型错误,检查model有没有放错文件夹或者用了不支持(损坏)的模型。

4、RuntimeError:Cannot add middleware after an application has started

解决办法:open .打开SD所在文件夹,在stable-diffusion-webui文件夹中的requirements_versions.txt 文件中添加“fastapi==0.90.1”。

这时候你基本下载完毕了,可能还会出现最后一个报错:Couldn't install XXX

很无语,这里其实是访问不了github下载文件所导致的,上述的uu加速器也没用,也好解决:

打开你的stable-diffusion主目录,找到如图所示的launch.py文件,打开它

找到  def prepare_enviroment():  开头的段落,在每个  https://github.com/  开头的链接前面添加   https://ghproxy.com/   ,变成https://ghproxy.com/https://github.com/  格式开头。

保存文件,去运行./webui.sh吧。

 接着开始安装了

 在浏览器打开图片底部网址。

 

好吧其实你如果和我一样的mac of intel配置,就不要高兴的太早,极可能忙了半天画不了,哈哈哈哈😂

。。。。。。

。。。。。。

。。。。。。

。。。。。。
开玩笑的也能解决,我也差点放弃当时,会出现报错:RuntimeError: "LayerNormKernelImpl" not implemented for 'Half' ,机器不支持原因:https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/1349

解决:在编辑器修改webui-user.sh,在COMMANDLINE_ARGS=后面加上--skip-torch-cuda-test --precision full --no-half 
不要搞错了webui-user.bat是windows的,起初我也添加了,毫无作用,懵逼半天,没错,mac的是初始全部注释了的webui-user.sh

 

 

 1.6webui使用

这里就不做过多赘述了,牛的人很多,推荐几个参考,上手没啥难的,不过各种tag、采样方式等等参数调整要下点功夫

【从零开始学会AI绘画,让你也能生成自己的图(重置版)】 

Stable Diffusion 完美复制Korean doll likeness!(详细版,持续更新中!)   https://zhuanlan.zhihu.com/p/606825889

庖丁解牛 Stable-diffusion-webui 插件拓展及依赖汇总  https://zhuanlan.zhihu.com/p/579538165

 

看到这里给你整点硬货,是不是觉得部署太繁琐亦或配置不理想,试试这款软件:

<draw things>

做到了三端(mac,ipad,iPhone)支持,安装就能用,绝对的超小众良心软件,下图就是用手机跑出来的cyber girl。

再次再次呼吁:技术无罪,应当服务于大众,而非牟利于小众~ 

参考:橘法师成前 https://www.bilibili.com/read/cv21987039 
         从零开始学会AI绘画,让你也能生成自己的图(重置版) 

   https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/5232

 

2023-02-26

 

posted @ 2023-02-26 22:00  cheflone  阅读(6280)  评论(6编辑  收藏  举报