侧边栏壁纸
博主头像
太上问情 博主等级

人非太上,岂能忘情。

  • 累计撰写 17 篇文章
  • 累计创建 9 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Mac 上部署 Stable Diffusion安装包

太上问情
2025-04-03 / 0 评论 / 0 点赞 / 5 阅读 / 0 字 / 正在检测是否收录...

一、 引言

这周工作不是很饱和(嘘),所以相继在两个云平台 KaggleAutoDL 上部署了 Stable Diffusion 后,决定再在 Mac 本地部署一下 Stable Diffusion!

其实看 Stable Diffusion WebUI 的 Github 官网,步骤还是比较清晰简单的。

但实际部署过程中,确实还是遇到了不少问题,所以顺便将踩过的坑一一记录了下来,应该涵盖了大部分同学都会遇到的问题,是的,全帮你们填平了,有的问题还给出了多种解决方案。

所以,Mac 党的朋友,想在本地部署 Stable Diffusion,拿着这份保姆级教程,直接冲就完事!

由于我的 Mac 太渣了(2015 年款),于是抢了男朋友的 Mac 来搞一下。

二、 Mac 的配置

MacBook Pro(2021 年)

芯片:Apple M1 Pro

核总数:8 + 14

内存:16GB

存储:512GB

macOS:Ventura 13.3.1

这个配置下,出图的效率怎么样呢

文章的第五部分「性能测试」中,基于同一模型、不同采样方法,在进行了多组测试后,出图效率简单记录了一下,大家可以参考~

三、 安装步骤

1. 安装 [Homebrew]

方式一:官方安装(可能会因网络问题导致失败)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

12

输入 brew -v 验证 Homebrew 是否安装成功:出现版本号说明 Homebrew 已经安装成功了。

补充知识:

  • Homebrew 官网:brew.sh/
  • 通过官网方式安装的,卸载 Homebrew 的方式如下(注意:如果是国内镜像安装的,不用这个命令卸载):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"

12

方式二:国内镜像安装

如果用第一种方式输入命令没有反应,或者是安装过程中出错了,多数是因为网络问题。可以用国内镜像进行 Homebrew 的安装。

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

12

Core、Cask、services 是 Homebrew 的其他组件,应该不是部署 Stable Diffusion WebUI 必须的。为了保险起见,这里直接都装了。

有些电脑 xcode 和 git 混乱,再运行一次,此处如果有 error 正常。

安装成功后,需要重启终端或者运行 source /Users/your_user_name/.zprofile 才能生效。

输入 brew -v 验证 Homebrew 是否安装成功:出现版本号说明 Homebrew 已经安装成功了。

补充知识

  • 如果之前安装过 Homebrew,会将之前的 Homebrew 备份在桌面的 Old_Homebrew 文件夹里。如果里面没有你需要的可以删除。

  • 常用命令

    • 查看版本:brew -v
    • 更新 brew 版本:brew update
    • 查找:brew search xxx(其中 xxx 替换为要查找的关键字)
    • 安装:brew install xxx
    • 查看本地软件库列表:brew ls
  • 卸载 Homebrew 如果是通过国内镜像安装的 Homebrew,用这个命令卸载:

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

12
  • 安装位置 在 Mac M1 上,Homebrew 的安装位置不是在以前的 /usr/local/,而是在 /opt/homebrew,这个大家注意。

  • 如果安装过程中还遇到了其他问题,可以看文章的第四部分 可能会遇到的问题,看看有没有解释。

2. 安装 Python 等环境依赖

cmake、protobuf、rust、python@3.10、git、wget,这些都是在后面安装 Stable Diffusion WebUI 时需要用到的依赖,这里通过一条命令直接安装了。

brew install cmake protobuf rust python@3.10 git wget

12

Stable Diffusion WebUI 的 github 中建议使用 3.10.6,因为高版本的 Python 不支持 torch:

Install Python 3.10.6 (Newer version of Python does not support torch), checking “Add Python to PATH”.

文章写于 2023 年 7 月,后续应该会支持吧~

3. 克隆

上一步执行成功后,我们进行 Stable Diffusino WebUI 的克隆。

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

12

这一步可能会遇到下载不下来,或者下载过程中出错的问题,可以看文章的第四部分 可能会遇到的问题,看看有没有解释。

如果依然没有解决,直接,干脆,进到 SDW Github 主页,直接下载 Zip 到本地,然后解压就好了。

4. 下载模型

这里包括三大类:大模型、Lora 模型以及 VAE 模型。(当然还有其他细分小模型,后续介绍)

这一步可以先扔一个大模型上去,后续有需要可以再慢慢下载其他的。

不想自己下载的话,可以找我要网盘链接。

大模型

放在 stable-diffusion-webui/models/Stable-diffusion 下面

文件后缀:ckpt 或者 safetensors

Lora 模型

放在 stable-diffusion-webui/models/Lora 下面(在没有执行 ./webui.sh 前,是没有 Lora 这个目录的,可以先不放)

VAE 模型

Variational Auto Encoder

可以简单理解为滤镜

放在 stable-diffusion-webui/models/VAE 下面

下载方式一:从 C 站下载(需要特殊网络)

选中「Models」-「筛选」- 选择「Model types」(是大模型、还是 LoRA、还是 VAE等) - 然后选择一个模型点进去。

如果知道要下载的模型的名称的话,也可以直接在搜索框搜索模型名字,然后点进模型。

直接点「Download」按钮进行下载。

下载方式二:从 huggingface 下载

如果登不上 C 站,可以试试 huggingface,方式也比较简单。

选择「Text-to-Image」,按下载量排序,我们选第一个下载量最多的,然后点进去。

切换到「Files and versions」,下面四个后缀为 satetensors 或 ckpt 的就是大模型了,随意下载一个就好。

其中 v1-5-pruned-emaonly 比较小,4 个多 GB,需要的显存少,适合于推理。

v1-5-pruned 比较小,7个多 GB,需要的更多的显存,适合于微调。

5. 启动 WebUI

进到 Stable Diffusion WebUI 对应的安装目录:

 cd stable-diffusion-webui

12

启动 Stable Diffusion WebUI:

./webui.sh

12

第一次启动,会下载一些组件库和依赖,可能会比较慢,大家耐心等待。

注意

如果上一步没有下载模型,这里也会自动帮我们下载一个默认的模型。因为大模型一般都好几个 GB,下起来比较慢,所以推荐大家还是在上一步中自己先将模型下载下来(至少放一个大模型进去,这样这一步就不会再自动去下模型了)。

当然出错最多的也是在启动 WebUI 这个过程。这个过程中会遇到各种各样的报错。我们需要多次停下、解决、再重新执行 ./webui.sh

不过不用担心之前的安装都白费了,因为它会从你上次安装到的地方接着往下安装。

如果安装过程中报错了,可以看文章的第四部分「可能会遇到的问题」,看看有没有相应的解释。

当出现 Running on local URL: http://127.0.0.1:7860 的时候,说明 Stable Diffusion WebUI 已经启动好了。

在浏览器中输入 http://127.0.0.1:7860 就可以看到 Stable Diffusion WebUI 的界面了。

温馨提示

  1. 在运行过程中,不要关闭 Terminal,否则页面就打不开了。

  2. 下次再启动,进到 Stable Diffusion WebUI 对应的目录,执行 ./webui.sh 即可。

  3. 如果安装过程中报错了,可以看文章的第四部分「可能会遇到的问题」,看看有没有解释。

四、 可能会遇到的问题

1. 用国内镜像安装 Homebrew 可能出现的问题

问题描述

解决

大概翻译一下,意思是说,在 “/opt/homebrew/Library/Taps/homebrew/homebrew-core” 的仓库中检测到可疑的所有权,若要为此目录添加异常,请调用:

git config –global –add safe.directory /opt/homebrew/Library/Taps/homebrew/homebrew-core。

下面另一个错误,也是类似的意思。所以我们只需要按照上面的提示,在命令行中输入这两行,就完美解决了。当再执行 brew -v 就不报错了!

git config --global --add safe.directory /opt/homebrew/Library/Taps/homebrew/homebrew-core
git config --global --add safe.directory /opt/homebrew/Library/Taps/homebrew/homebrew-cask

123

2. HTTP/2 stream 1 was not closed cleanly before end of the underlying stream

问题描述

在 git clone 的时候报:

致命错误:无法访问 'github.com/AUTOMATIC11… stream 1 was not closed cleanly before end of the underlying stream

解决:将通信协议改成 http/1.1

git config --global http.version HTTP/1.1

12

将通信协议改成 http/1.1 之后,发现可以正常下载了。

3. Couldn’t install torch.

在执行完 ./webui.sh 后报 “RuntimeError: Couldn’t install torch.”

在 modules/launch_utils.py 中看到了这段注释:

这段注释是说,如果遇到了 “RuntimeError: Couldn’t install torch.” 或者其他问题,可能是 Python 版本的问题,升级或者降级到 3.10 的最新版本,然后删掉 WebUI 目录下的 venv 目录再重试。

但是上面我们明明执行过 brew install cmake protobuf rust python@3.10 git wget 这个命令,其中安装了 Python 3.10 呀。按理说不应该呀。

怀着怀疑的态度我在命令行里输入 python3 -V 进行查看。

咦,一看不得了,这版本咋是 3.9.6?

这个 3.9 的 Python 版本,应该是 Mac 自带的 Python。可能就是因为这个原因导致启动时下载库出错。

于是又从 Python 官网下载了 Python 3.10.10 这个版本。按提示傻瓜式安装就好了。之后还配置了一下环境变量。

# 编辑 ~/.bash_profile
vim ~/.bash_profile

123

文件中加入这三行

PATH="/opt/homebrew/bin/:${PATH}"
export PATH=${PATH}
alias python="/opt/homebrew/bin/python3.10"

1234
```
# 使配置生效
source ~/.bash_profile

123

这时版本就成 3.10.10 了。

然后删掉 WebUI 目录下的 venv 目录,再执行 ./webui.sh,终于不报错了!就是下的有些慢~

4. Couldn’t install gfpgan.

在执行完 ./webui.sh 后报 “RuntimeError: Couldn’t install gfpgan.”

其实是因为没有下载下来 gfpgan。我们可以从报错信息中找到下载链接,如下图中横线部分,然后 copy 这个链接到浏览器中进行下载,然后将下载好的 zip 文件加压,并将目录名改成 GFPGAN,然后拖到 stable-diffusion-webui 这个目录下就好了。当再次执行 ./webui.sh 时,发现已经跨过 GFPGAN,继续下载其他依赖了。完美解决!

5. Couldn’t install clip.

在执行完 ./webui.sh 后报 “RuntimeError: Couldn’t install clip.”

可以手动下载后安装,就像解决 “Couldn’t install gfpgan” 这个问题一样。但是这里我们换一种解决方式。

打开 modules/launch_utils.py,搜索 github.com/ ,在每一处前面都加上 ghproxy.com/ ,加完后是这样的 ghproxy.com/https://git… ,如下图。

一共是 7 处,修改完成后保存。再执行 ./webui.sh,就没有问题了。

为什么这里不用上面解决 gfpgan 的手动下载的方式呢?

prepare_environment() 这个方法里,一共定义了 7 处下载地址,如果不用添加代理的方式,大概率接下来在下载 K-diffusion、CodeFormer、BLIP 的时候,也是会报错的。所以这里一起改掉,万事大吉!

这种方法也可以解决以下报错:

Couldn’t install K-diffusion

Couldn’t install CodeFormer

Couldn’t install BLIP

6. Couldn’t install K-diffusion

见 5 解决方法。

7. Couldn’t install CodeFormer

见 5 解决方法。

8. Couldn’t install BLIP

见 5 解决方法。

五、 性能测试

大模型:dreamshaper

Euler:出一张 512 * 512 的图,约 20 ~ 30s

DPM++ SDE Karras:出一张 512 * 512 的图,约 1 ~ 1.5 min

六、 结束语

Stable Diffusion 本地部署相对于 Stable Diffusion 云部署,最大的两个优点就是:

更自由(懂的都懂)!

不花钱,完全免费!

Kaggle 虽然每月可白嫖 30 个小时的算力,但太容易被封,稍微画得上头一些,就被封了。我的账号就被祭了。

Kaggle 被封后,又转战到了 AutoDL,相比于 Kaggle 来说,不那么容易被封,但是需要花钱。大部分机器实例在 1~2 元 / 小时,也不算贵,但是用完后一旦忘记给实例关机,一天几十就出去了。呃,这。。。

所以这周,一顿操作猛如虎,终于在 Mac 上成功部署了 Stable Diffusion,实现了 Stable Diffusion 自由!也将所有踩过的坑,一一填平并记录了下来。希望可以帮到想在 Mac 上部署 Stable Diffusion 的同学。

其实在 Mac 本地部署 Stable Diffusion 遇到的大部分问题,基本都是网络造成的。每个人的电脑配置及网络环境都不一样,所以有时会遇到试了好几个解决方案都无法解决的情况。其实我也是。网友说他这么改成功了,而我那么改,依然不起作用。

所以最后想对大家说的是,耐心一点,再耐心一点,方法总是有的,问题总会解决!

大家加油!也希望这篇教程可以真的帮到大家!

如何学习Stable Diffusion ?

2023年,AIGC绘画元年,从年初以来,以Midjourney和Stable Diffusion 为代表的AIGC绘画迎来春天,掀起了一场生产力革命。

Stable diffuson最大的优势在于它的可控性以及免费开源。很多人想学习和使用stable diffusion,网上一搜,往往在安装这一步就劝退了很多人。

也因为Stable diffusion中的参数非常非常多,极其容易劝退,但事实是,对于我们来说,只需要熟练使用即可,并不需要深入的去研究它的原理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的StableDiffusion学习资料包括:StableDiffusion学习思维导图、StableDiffusion必备模型,精品AI学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天)Stable Diffusion初始入门

该阶段让大家对StableDiffusion有一个最前沿的认识,规避碎片化学习,对SD的理解将超过 95% 的人。可以在相关讨论发表高级、不跟风、又接地气的见解,成为AI艺术创作领域的佼佼者。

  • 1.Stable Diffusion的起源及工作原理

  • 2.Midjourney跟Stable Diffusion之间的的区分指南

  • 3.Stable Diffusion一键包快速实现部署

  • 4.Stable Diffusion启动器参数

  • 5.Stable Diffusion的“Settings”页面高效配置Al模型

  • 6.Stable Diffusion的插件安装指南

  • 7.汉化Stable Diffusion界面实操

  • 8.Stable Diffusion中的大模型使用指南

  • 9.Stable Diffusion VAE模型

  • 10.txt2img文本提示转换成图像实操

  • 11.生成(Generate)功能相关的系列按钮

  • 12.单批跟总批的配比选择指南

  • 13.采样方法

  • 14.生成图像的引导迭代步数

第二阶段(30天)Stable Diffusion进阶应用

该阶段我们正式进入StableDiffusion进阶实战学习,学会构造私有知识库,扩展不同的艺术风格。快速根据甲方的要求改动高效出图。掌握智能绘图最强的AI软件,抓住最新的技术进展,适合所有需出图行业真·生产力大爆发!!!

  • 1.涂鸦Sketch功能

  • 2.涂重绘鸦Inpainting Sketch功能

  • 3.局部重绘Inpainting功能详解

  • 4.上传蒙版Inpainting upload功能

  • 5.segment anything辅助抠图功能

  • 6.inpaint anything蒙版获取功能

  • 7.ControlNet的起源及工作原理

  • 8.ControlNet插件扩展功能

  • 9.ControlNet基础界面使用指南

  • 10.ControlNet五种线稿模型

  • 11…ControlNet重绘修复模型

  • 12.ControlNet 图像提示迁移模型实战

第三阶段(30天)专属Lora模型训练

恭喜你,如果学到这里,所有设计类岗位你将拥有优先选择权,自己也能训练Lora 了!通过对模型进行微调有效减少模型的参数量和计算量,以生成特定的人物、物品或画风,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 1.定制个人的LORA模型适配个性化需求

  • 2.高质量素材过程中的重要事项收集指南

  • 3.birme工具批量化的处理图片实战

  • 4.BooruDatasetTagManager工具打标图片实战

  • 5.正则化训练集使用指南

  • 6.SD-tainerLORA训练工具

  • 7.SD-tainer工具训练自己的Lora操作

  • 8.LORA模型测试指南

第四阶段(20天):商业闭环

对氛围性场景,关键词技巧,图生图实操流程等方面有一定的认知,教你「精准控制」所有图片细节,可以在云端和本地等多种环境下部署StableDiffusion,找到适合自己的项目/创业方向,做一名被 AI 武装的社会主义接班人。

  • 1.CodeFomer模型实战

  • 2.固定同一人物形象IP实战

  • 3.广告设计

  • 4.电商海报设计

  • 5.制作3D质感

  • 6.室内设计全案例流程

  • 7.AI赋能电商新视觉

  • 8.老照片修复

  • 9.小说推文

  • 10.影视游戏制作

  • 11.游戏开发设计

  • 12.三维软件去精准辅助SD出高质量图实战

  • 13.GFPGAN模型实战

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名AI绘图大神的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费在这里插入图片描述
0

评论区