本地部署 Stable Diffusion(Mac 系统)

news2024/12/23 11:42:30

在 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.coloradmin.cn/o/929955.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

创建K8s pod Webhook

目录 1.前提条件 2.开始创建核心组件Pod的Webhook 2.1.什么是Webhook 2.2.在本地k8s集群安装cert-manager 2.3.创建一个空的文件夹 2.4. 生成工程框架 2.5. 生成核心组件Pod的API 2.6.生成Webhook 2.7.开始实现Webhook相关代码 2.7.1.修改相关配置 2.7.2.修改代码 2…

2023最新AI创作系统ChatGPT网站源码V2.6.0+详细图文搭建安装教程/GPT联网/支持ai绘画+Dall-E2绘画/支持MJ以图生图

一、AI系统 如何搭建部署AI创作ChatGPT系统呢?小编这里写一个详细图文教程吧! SparkAi使用Nestjs和Vue3框架技术,持续集成AI能力到AIGC系统! 程序核心功能 程序已支持ChatGPT3.5/4.0提问、AI绘画、Midjourney绘画(…

Vue2向Vue3过度核心技术组件通信

目录 1 组件基础知识scoped解决样式冲突1.1 默认情况:1.2 代码演示1.3 scoped原理1.4 总结 2 组件基础知识data必须是一个函数2.1 data为什么要写成函数2.2 代码演示2.3 总结 3 组件通信3.1 什么是组件通信?3.2 组件之间如何通信3.3 组件关系分类3.4 通信…

leetcode 392. 判断子序列

2023.8.25 本题要判断子序列,可以使用动态规划来做,定义一个二维dp数组。 接下来就是常规的动态规划求解子序列的过程。 给出两种定义dp数组的方法。 二维bool型dp数组: class Solution { public:bool isSubsequence(string s, string t) …

升级Go 版本到 1.19及以上,Goland: file.Close() 报错: Unresolved reference ‘Close‘

错误截图 解决方法 File -> Settings -> Go -> Build Tags & Vendoring -> Custom tags -> 添加值 “unix” 原因 Go 1.19 引入了unix构建标签。因此,需要添加unix到自定义标签。 参考 https://blog.csdn.net/weixin_43940592/article/det…

VScode代码自动补全提示

VScode代码自动补全提示 打开设置 搜索 Suggest:Snippets Prevent Quick Suggestions ,去掉勾选 CtrlShiftP打开setting.json文件,添加以下代码 "editor.suggest.snippetsPreventQuickSuggestions": false,"editor.quickSuggestions…

macOS - DOSbox

文章目录 关于 DOSbox安装使用启动设置启动盘、查看文件 debug 关于 DOSbox 官网: https://www.dosbox.com/文档:https://www.dosbox.com/wiki/Basic_Setup_and_Installation_of_DosBox下载: https://www.dosbox.com/download.php https://s…

Request对象和response对象

一、概念 request对象和response对象是通过Servlet容器(如Tomcat)自动创建并传递给Servlet的。 Servlet容器负责接收客户端的请求,并将请求信息封装到request对象中,然后将request对象传 递给相应的Servlet进行处理。类似地&…

改进YOLO系列:10.添加NAMAttention注意力机制

添加NAMAttention注意力机制 1. NAMAttention注意力机制论文2. NAMAttention注意力机制原理3. NAMAttention注意力机制的配置3.1common.py配置3.2yolo.py配置3.3yaml文件配置1. NAMAttention注意力机制论文 论文题目:NAM: Normalization-based Attention Module 论文…

软件设计师学习笔记4-寻址方式

目录 1.指令的基本概念 2.寻址方式 2.1寻址方式及其特点 2.2寻址方式图解 3.CISC和RISC 1.指令的基本概念 一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式为操作码字段地址码字段,其中操作码给出该指令的对…

pgadmin4树节点增删查(二)

十九,表 (一)查询 请求参数: gid1 sid1 did13799 scid2200pg模板: SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS relacl_str,(CASE WHEN length(spc.spcname::text) > 0 T…

【LeetCode-中等题】238. 除自身以外数组的乘积

题目 题解一:暴力双指针—超时了 双指针暴力查找(需考虑begin end 和begin end i) 的情况 ----- 力扣示例超出时间限制 public int[] productExceptSelf(int[] nums) {int length nums.length;int begin 0;int end length -1;int i 0;int[] number new in…

基于python+pyqt实现opencv银行卡身份证等识别

效果展示 识别结果 查看处理过程 历史记录 完整演示视频: 无法粘贴视频........ 完整代码链接 视频和代码都已上传百度网盘,放在主页置顶文章

MATLAB图论合集(二)计算最小生成树

今天来介绍第二部分,图论中非常重要的知识点——最小生成树。作为数据结构的理论知识,Prim算法和克鲁斯卡尔算法的思想此处博主不详细介绍,建议在阅读本帖前熟练掌握。 对于无向带权图,在MATLAB中可以直接以邻接矩阵的方式创建出来…

研磨设计模式day11观察者模式

目录 场景 代码示例 定义 观察者模式的优缺点 本质 何时选用 简单变型-区别对待观察者 场景 我是一家报社,每当我发布一个新的报纸时,所有订阅我家报社的读者都可以接收到 代码示例 报纸对象 package day11观察者模式;import java.util.Observ…

stm32之DS18B20

DS18B20与stm32之间也是通过单总线进行数据的传输的。单总线协议在DHT11中已经介绍过。虽说这两者外设都是单总线,但时序电路却很不一样,DS18B20是更为麻烦一点的。 DS18B20 举例(原码补码反码转换_原码反码补码转换_王小小鸭的博客-CSDN博客…

什么是计算机视觉,计算机视觉的主要任务及应用

目录 1. 什么是计算机视觉 2. 计算机视觉的主要任务及应用 2.1 图像分类 2.1.1 图像分类的主要流程 2.2 目标检测 2.2.1 目标检测的主要流程 2.3 图像分割 2.3.1 图像分割的主要流程 2.4 人脸识别 2.4.1 人脸识别的主要流程 对于我们人类来说,要想认出身边…

【80天学习完《深入理解计算机系统》】第十天 3.3 条件码寄存器【CF ZF SF OF】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

01.sqlite3学习——数据库概述

目录 重点概述总结 数据库标准介绍 什么是数据库? 数据库是如何存储数据的? 数据库是如何管理数据的? 数据库系统结构 常见关系型数据库管理系统 关系型数据库相关知识点 数据库与文件存储数据对比 重点概述总结 数据库可以理解为操…

串行FIR滤波器

串行 FIR 滤波器设计 串行设计,就是在 16 个时钟周期内对 16 个延时数据分时依次进行乘法、加法运算,然后在时钟驱动下输出滤波值。考虑到 FIR 滤波器系数的对称性,计算一个滤波输出值的周期可以减少到 8 个。串行设计时每个周期只进行一次乘…