mac m3 pro 部署 stable diffusion webui

什么是Stable Diffusion WebUI ?

        Stable Diffusion WebUI 是一个基于Stable Diffusion模型开发的图形用户界面(GUI)工具。通过这个工具,我们可以很方便的基于提示词,描述一段文本来指导模型生成相应的图像。相比较通过编码或者命令方式使用stable diffusion生成图像,webui更具灵活性与方便性,同时不具备编码能力的人员也能轻松使用

部署前的说明

        最好的资源在官网,目前SD webui(Stable Diffusion WebUI 简称,本文后续都使用简称表述)托管在github上,我们可以从 AUTOMATIC1111 维护的仓库中下载并自行部署。对mac电脑可以参照这篇说明部署:Installation on Apple Silicon · AUTOMATIC1111/stable-diffusion-webui Wiki · GitHub。这里将部署过程以、部署过程中遇到问题及解决方案,再重新整理说明下,以便后续对在mac上部署SD webui 的同学有参考意义。

部署过程

安装homebrew

        首先确保你的mac电脑安装了homebrew,homebrew是mac上一款功能强大的软件包管理器,安装过程比较简单,可直接参考官网提示安装,传送门==> homebrew。

安装sd依赖软件

        homebrew安装好后,打开终端控制台,执行以下命令安装依赖的软件。这里需要注意下python的版本为3.10,如果你的电脑安装了其他版本的python(一般mac都默认自带python),请卸载避免冲突,或者设置python、pip命令默认使用brew 安装的3.10版本

brew install cmake protobuf rust python@3.10 git wget

         这里笔者电脑默认有个3.9.6版本的python,为避免冲突,通过强制在 ~/.bash_profile文件中设置使用brew安装的3.10版本实现。注意文件修改后,需要source生效。

alias python=/opt/homebrew/bin/python3.10
alias python3=/opt/homebrew/bin/python3.10
alias pip=/opt/homebrew/bin/pip3.10
alias pip3=/opt/homebrew/bin/pip3.10

克隆SD webui软件包

        接下来就是克隆 SD webui 项目到本地,选定一个文件夹后,直接执行git clone即可。

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

        下载完成后进入到 stable-diffusion-webui 目录下,执行 ./webui.sh 命令启动即可。由于默认的项目不带模型的,我们还需要相关模型。guthub上的模型链接都是在 https://huggingface.co/ 上的,由于国内网络限制原因,无法访问到huggingface,故只能去镜像网站手动下载放到项目中指定的目录下。这里我们去镜像网站 HF-Mirror 或者 模搭社区 下载 v1-5-pruned-emaonly.safetensors 模型,下载完的模型放到项目中的 /stable-diffusion-webui/models/Stable-diffusion/ 目录下即可,再次重新启动。

        重新执行 ./webui.sh 后,可以看到执行仍报如下错误,无法加载 openai/clip-vit-large-patch14,原因还是网络问题无法访问https://huggingface.co导致。

EnvironmentError(
OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'openai/clip-vit-large-patch14' is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.

        这里我们仍然可以从镜像网站 HF-Mirror 下载对应的模型,注意这里下载的模型放到项目根目录即可,同时相关的配置文件也要一并下载,如下图所示。 

         解决完以上问题后,再次启动,可以看到服务正常启动成功,模型正常加载,我们输入提示词,点击generate,图像也正常生成成功。至此我们完成了SD WebUI 在mac上本地部署。另外说明下我的电脑环境是:Apple M3 Pro、macOs 是15.3.2。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/74587.shtml

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

相关文章

OpenCV图像拼接(6)根据权重图对源图像进行归一化处理函数normalizeUsingWeightMap()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::detail::normalizeUsingWeightMap 是 OpenCV 中用于图像拼接细节处理的一个函数。它根据权重图对源图像进行归一化处理,通常用于…

23种设计模式-外观(Facade)设计模式

外观设计模式 🚩什么是外观设计模式?🚩外观设计模式的特点🚩外观设计模式的结构🚩外观设计模式的优缺点🚩外观设计模式的Java实现🚩代码总结🚩总结 🚩什么是外观设计模式…

capl语言基础语法(二)

1.strncpy:将字符串复制到另一个字符串中。 输入: dest 是目标字符串。 src 是源字符串。 n 是要复制的最大字符数。 语法: char *strncpy(char *dest, const char *src, size_t n); 例子: strncpy(gStringRep,"",…

QLoRA和LoRA 微调

QLoRA 其实是一种结合了量化和 LoRA 微调技术的统一方法,而不是同时使用两种不同的微调方式。换句话说,QLoRA 的意思就是:先把大模型的主权重用低精度(例如 4-bit)量化,从而大幅减少存储需求;然…

Qt Concurrent 并发 Map 和 Map-Reduce

并发 Map 和 Map-Reduce QtConcurrent::map()会对容器中的每个项目应用一个函数,对项目进行就地修改。QtConcurrent::mapped() 类似于 map(),但它返回的是一个包含修改内容的新容器。QtConcurrent::mappedReduced() 类似于 mapped(),只不过修…

RT-Thread-线程管理

一、线程管理 RT_Thread线程管理主要是实现线程管理和调度,线程分为用户线程和系统线程。RT_Thread的线程调度器是抢占式的,寻找就绪状态最高优先级线程。 线程管理的API函数 创建线程函数 rt_thread_t rt_thread_create( const char *name, //线程名称 …

【CC2530 教程 十二】CC2530 Z-Stack 硬件抽象层

目录 一、硬件抽象层简介: (1)HAL 硬件抽象层是什么? (2)通俗易懂的解释: (3)具体例子: 二、硬件抽象层HAL: (1)HAL…

Linux如何判断磁盘是否已分区?

在 Linux 系统中,判断磁盘是否已分区可通过以下方法实现: 方法 1:使用 fdisk -l 命令 此命令会列出所有磁盘及其分区的详细信息: sudo fdisk -l输出解读: 若磁盘(如 /dev/sdb)下有类似 /dev/…

《熔化焊接与热切割作业》考试注意事项

考试前的准备 携带必要的证件和材料:考生需携带身份证、准考证等有效证件,以及考试所需的焊接工具、材料等。确保证件齐全,避免因证件问题影响考试。 提前检查焊接设备和工具:在考试前,考生应仔细检查焊接设备和工具是…

Matlab Hessian矩阵计算(LoG算子)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 图像的Hessian矩阵用于描述图像灰度值的二阶导数,可以用来分析图像的局部曲率和变化。例如,在图像边缘检测、特征点检测等任务中,Hessian矩阵能帮助我们识别图像的结构。 Hessian矩阵定义 对于二维图像,Hessian…

selenium之处理弹框(alert、confirm、prompt)

弹框 WebDriver提供了一个API, 用于处理JavaScript提供的三种类型的原生弹窗消息. 这些弹窗由浏览器提供限定的样式.;分别为以下三种 alerts警告框confirm确认框prompt提示框 话不多说,开始实践下就知道怎么一回事了 alerts 警告框,显示…

Visual Studio 2019 Qt QML 项目环境搭建常见问题处理方法

在 Visual Studio 2019 运行 Qt/QML 项目比直接使用QtCreator环境麻烦,主要是有qmake 的一些配置项不能在 Visual Studio中设置。下面整理一些常见问题的处理方法,供参考: 搭建VS Qt 环境,在Visual Studios 2019下面安装 Qt Vis…

【Linux】POSIX信号量与基于环形队列的生产消费者模型

目录 一、POSIX信号量: 接口: 二、基于环形队列的生产消费者模型 环形队列: 单生产单消费实现代码: RingQueue.hpp: main.cc: 多生产多消费实现代码: RingQueue.hpp: main.…

RAG优化:python从零实现GraphRag 一场文档与知识的“恋爱”之旅

嘿,亲爱的算法工程师们,准备好迎接一场文档与知识的“恋爱”之旅了吗?今天我们要介绍的 Graph RAG,就像是一位“红娘”,帮助文档和知识在图的世界里找到彼此,擦出智慧的火花! 文章目录 为什么需要 Graph RAG?Graph RAG 的“恋爱秘籍”准备好了吗?让我们开始吧!环境设…

深入 SVG:矢量图形、滤镜与动态交互开发指南

1.SVG 详细介绍 SVG(Scalable Vector Graphics) 是一种基于 XML 的矢量图形格式,用于描述二维图形。 1. 命名空间 (Namespace) ★ 了解 命名空间 URI:http://www.w3.org/2000/svg 用途:在 XML 或 XHTML 中区分不同标…

HTTPS 加密过程详解

HTTPS 的核心组成是 HTTP 协议与 SSL/TLS 加密层的结合,通过加密传输、身份验证和完整性校验机制,确保数据安全。其加密过程通过以下方式保障数据的机密性、完整性和身份验证: 一、HTTPS 的核心组成 1. HTTP 协议 作为基础通信协议&#xf…

嵌入式硬件工程师从小白到入门-速通版(一)

嵌入式硬件工程师从小白到入门:知识点速通与实战指南 一、基础硬件知识体系 电子电路基础 基本概念:电流、电压、电阻、电容、电感等;电路分析:欧姆定律、基尔霍夫定律、戴维南定理;元器件特性:二极管、三极…

SpringBoot通过Map实现天然的策略模式

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: SpringBoot通过Map实现天然的策略模式 ⏱️ 创作时间: 202…

WordPress WooCommerce 本地文件包含漏洞(CVE-2025-1661)

免责声明 仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 一:产品介绍 HUSKY – WooCommer…

matlab近似计算联合密度分布

在 Matlab 中,当A和B是两个序列数据时,可以通过以下步骤来近似求出A大于B的概率分布:数据准备:确保序列A和B具有相同的长度。如果长度不同,需要进行相应的处理(例如截取或插值)。计算A大于B的逻…