本地部署 Stable Diffusion(Mac 系统)

news/2024/7/10 22:14:56 标签: stable diffusion, macos

在 Mac 系统本地部署 Stable Diffusion 与在 Windows 系统下本地部署的方法本质上是差不多的。

一、安装 Homebrew

Homebrew 是一个流行的 macOS (或 Linux)软件包管理器,用于自动下载、编译和安装各种命令行工具和应用程序。有关说明请访问官网。

https://brew.sh

方法一:打开“终端”(应用程序/实用工具/终端),输入或粘贴下列命令:

/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"

等待安装完成,如下图所示。

fb2b26735ee78b85f8437db129cf9429.png

方法二:到下列网址或 MediaTea 共享资源中下载 .pkg 安装包。

下载地址

https://github.com/Homebrew/brew/releases/latest

7cd1aef655d7b2abc99080deca7767c4.png

安装完成后,在“终端”中输入或粘贴下列命令,从而确保每次启动终端时,都会自动配置 Homebrew 的相关环境。

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile

以下命令则可以立即在当前会话中配置环境。

eval "$(/opt/homebrew/bin/brew shellenv)"

两条命令的执行如下图所示。

fee7596cb910856d851727af48c0588e.png

二、安装依赖工具和应用程序

打开一个新的“终端”窗口并输入或粘贴下列命令:

brew install cmake protobuf rust python@3.10 git wget

说明:

cmake: 一个开源的、跨平台的自动化构建系统。它用于控制软件编译过程,使用一个简单的平台和编译器独立的配置文件,并生成原生的构建环境。

protobuf: Protocol Buffers(通常缩写为 Protobuf)是 Google 开发的一种数据序列化协议,与 XML 和 JSON 类似,但通常更小、更快、更简单。

rust: Rust 是一个流行的系统级编程语言,注重安全、并发和内存效率。

python@3.10: 特定版本的 Python,即版本3.10。@ 符号后面的数字表示版本号。

git: 是一个分布式版本控制系统,用于跟踪文件的更改和协调多人之间对文件的工作。

wget: 是一个用于从网络上下载文件的命令行工具。它支持通过HTTP、HTTPS和FTP协议下载文件,并可以递归地下载整个网站或目录。

三、拉取 SD-WebUI 主项目

SD-WebUI 主项目文件夹一定要放在有足够大空间的磁盘上,可以是移动硬盘,最好是 SSD 硬盘。

方法一:直接从 GitHub 拉取 SD-WebUI 主项目文件夹。

在某个文件夹(要存放 SD-WebUI 主项目文件夹的文件夹,或者是桌面上某个移动硬盘的图标)右键选择“服务/新建位于文件夹位置的终端窗口”,然后输入或粘贴下列命令:

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

方法二:

若上述方法连接速度慢或超时,可直接下载 ZIP 文件并解压到磁盘上。

下载地址

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

四、下载并置放好模型文件

从网络下载官方基础模型,比如 Stable DIffusion 1.4(sd-v1-4.ckpt),约 4 G大小。

下载地址

https://huggingface.co/CompVis/stable-diffusion-v-1-4-original

也可从 MediaTea 共享的百度网盘里下载(在文末随意“赞赏”即可获得分享链接)。

1f3de3045f5ec552b186407487f35981.png

下载好的文件,请放置在本地对应的文件夹中。

模型文件夹:

SD-WebUI 主文件夹\models\Stable-diffusion

70e89aa258254f162a5b14a4eef68456.png

五、首次启动 SD-WebUI

在 SD-WebUI 主文件夹上右键选择“服务/新建位于文件夹位置的终端窗口”,然后在终端窗口中输入 ./webui.sh 。

第一次启动时将使用 venv 创建和激活 Python 虚拟环境,并自动下载和安装任何缺失的依赖项。

3af3cb13e64dac96aee232ac8d86e6b6.png

视网速快慢,一般会要几分钟或几十分钟。

注意,此“终端”窗口在 SD-WebUI 运行期间不能关闭,它是 AI 生图的后台,所有的进程会在其中显示。

e0856dcbc9fbbcfd3d7e21030a9d21ee.png

将“终端”窗口中给出的地址,如,http://127.0.0.1:7861,拷贝到浏览器的地址栏,即会打开 SD-WebUI 的主界面。

9a564906ddb5136ef1409efb48062cf6.png

六、其它

有关 SD-WebUI 的设置、中英文界面、暗黑模式以及关闭、启动、更新等,与 Windows 系统下的 SD-WebUI 完全一致。

6bcab0a9300f2e358350f355e13853ab.png

请参阅:

《本地部署 Stable Diffusion(Windows 系统)》

c5715dc1dd7dbad8de2a5263514037e5.jpeg

“点赞有美意,赞赏是鼓励”


http://www.niftyadmin.cn/n/4973109.html

相关文章

vue2 element 踩坑爬坑

动态增减表单项 这个其实官网有demo,但是自己也调试了好久,记录下,具体写法自己查看文档:https://element.eleme.cn/#/zh-CN/component/form 关键地方在于key,新增数组时,要在数据里增加个key,…

【C++】list类的模拟实现

🏖️作者:malloc不出对象 ⛺专栏:C的学习之路 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 目录 前言一、list类的模拟实现1.1 list的…

序列化协议:JSON和XML

作者:CARROT 链接:https://www.zhihu.com/question/604811576/answer/3100483698 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 json和xml都是数据传输的格式。比如我们开发过程中需要和网…

Unity Alembic闪烁问题

最近在做项目时,发现Clo3D导出的服装abc动画,导入到Unity中后(已提前导入Alembic插件),运行时屏幕会闪烁(变黑)。 经过几轮测试,发现是切线的问题。解决办法很简单。将abc文件上的Tangents属性值改为None即可。

VB车辆管理系统SQL设计与实现

摘 要 随着信息时代的到来,信息高速公路的兴起,全球信息化进入了一个新的发展时期。人们越来越认识到计算机强大的信息模块处理功能,使之成为信息产业的基础和支柱。 我国经济的快速发展,汽车已经成为人们不可缺少的交通工具。对于拥有大量车辆的机关企事业来说,车辆的…

未来已至:虚拟现实、人工智能与我们的世界

未来已至:虚拟现实、人工智能与我们的世界 目录 引言:虚拟现实与人工智能的交汇点虚拟现实(VR): 让我们体验梦想成真的感觉 2.1 VR在娱乐行业的应用 2.2 VR在教育领域的应用 2.3 VR在医疗领域的应用增强现实(AR&…

设计模式第八讲:常见重构技巧 - 去除多余的if else

设计模式第八讲:常见重构技巧 - 去除多余的if else 最为常见的是代码中使用很多的if/else,或者switch/case;如何重构呢?方法特别多,本文是设计模式第八讲,带你学习其中的技巧。 文章目录 设计模式第八讲&am…

代码随想录训练营二刷第四天 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 ● 142.环形链表II

代码随想录训练营二刷第四天 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 ● 142.环形链表II 一、24. 两两交换链表中的节点 题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/ 思路:使用头结点然后画图…