Mac安装Stable Diffusion教程【超详细教程】附带安装包

news2025/1/12 3:44:06

Mac安装Stable Diffusion教程

  • 本机配置
  • Mac安装Stable Diffusion教程 配带官方说明
    • 重要注意事项
    • 安装所需文件已上传网盘
    • 自动安装
      • 新安装:
    • 自动安装
      • 现有安装:
    • 下载稳定扩散模型
    • 故障排除
      • Web UI无法启动:
      • 性能不佳:

本机配置

电脑:MacBook Pro 14
芯片:M1Pro
内存:32GB

Mac安装Stable Diffusion教程 配带官方说明

如果您是Mac用户,想要安装并使用Stable Diffusion进行图像生成,以下是详细的安装步骤:

重要注意事项

目前,Web UI中的大多数功能都可以在macOS上正常工作,最明显的例外是CLIP询问器和培训。虽然训练似乎确实有效,但它非常慢,并消耗了过多的内存。可以使用CLIP查询器,但它不能与macOS使用的GPU加速正常工作,因此默认配置将完全通过CPU运行(速度很慢)。

众所周知,大多数采样器在使用稳定扩散2.0模型时,唯一的例外是PLMS采样器。在macOS上使用GPU加速生成的图像通常应匹配或几乎匹配具有相同设置和种子的CPU上生成的图像。

安装所需文件已上传网盘

  1. 链接: 点我下载所需安装包 提取码: kga5
  2. 开源公众号GPT项目,点我下载在这里插入图片描述

自动安装

新安装:

  1. 如果未安装Homebrew,请按照https://brew.sh上的说明进行安装。保持终端窗口打开,并按照“后续步骤”下的说明将Homebrew添加到您的PATH中。
  2. 打开一个新的终端窗口并运行brew install cmake protobuf rust python@3.10 git wget
    也可以单个进行安装:brew install cmake
    可以使用以下命令来查看这六个软件包的版本:
	cmake: `cmake --version`
	protobuf: `protoc --version`
	rust:` rustc --version`
	python@3.10:` python3.10 --version`
	git:` git --version`
	wget: `wget --version`
	注意:这些命令需要在终端中运行。
  1. 通过运行克隆Web UI存储库git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
    如果GitHub无法访问https://gitee.com/wy521a/stable-diffusion-webui,我将代码放入个人的Gitee上了
  2. 将您想要使用的稳定扩散模型/检查点放入stable-diffusion-webui/models/Stable-diffusion。如果您没有,请参阅下面的下载稳定扩散模型。
  3. cd stable-diffusion-webui然后./webui.sh运行Web UI。将使用venv创建和激活Python虚拟环境,任何剩余的缺失依赖项将自动下载并安装。
  4. 要稍后重新启动Web UI进程,请再次运行./webui.sh。请注意,它不会自动更新Web UI;要更新,请在运行./webui.sh之前运行git pull
    在这里插入图片描述
  5. 运行后等待下载相关的依赖
  6. 如果出现安装gfpgan很久这个情况如何解决?
    在这里插入图片描述
  7. 去gfpgan官网下载包到本地
    在这里插入图片描述
  8. 在下载完解压,进入对应的项目目录下面,执行以下命令
pip install basicsr

pip install facexlib

pip install -r requirements.txt

python3 setup.py develop

pip install realesrgan

如果没有pip命令则换成pip3
  1. 执行完以上的命令重新进入我们的stable-diffusion-webui目录执行./webui.sh命令,其他下载慢的以此类推
  2. 继续看执行的效果
    在这里插入图片描述
  3. http://127.0.0.1:7860就是我们的访问地址啦
  4. 进入页面访问
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

自动安装

现有安装:

如果您有使用setup_mac.sh创建的现有Web UI安装,请从您的stable-diffusion-webui文件夹中删除run_webui_mac.sh文件和repositories文件夹。然后运行git pull来更新Web UI,然后./webui.sh来运行它。

下载稳定扩散模型

如果您没有任何模型可以使用,可以从Hugging Face下载稳定的扩散模型。要下载,请单击模型,然后单击Files and versions标题。查找列出带有“.ckpt”或“.safetensors”扩展名的文件,然后单击文件大小右侧的向下箭头进行下载。

一些流行的官方稳定扩散模型是:

  • 稳定的DIffusion 1.4(sd-v1-4.ckpt)
  • 稳定扩散1.5(v1-5-pruned-emaonly.ckpt)
  • 稳定扩散1.5 Inpainting(sd-v1-5-inpainting.ckpt)

稳定扩散2.0和2.1需要模型和配置文件,生成图像时,图像宽度和高度需要设置为768或更高:

  • 稳定扩散2.0(768-v-ema.ckpt)
  • 稳定扩散2.1(v2-1_768-ema-pruned.ckpt)

对于配置文件,按住键盘上的选项键,然后单击此处下载v2-inference-v.yaml(可以下载为v2-inference-v.yaml.yml)。在Finder中选择该文件,然后转到菜单并选择File>Get Info。在出现的窗口中,选择文件名并将其更改为模型的文件名,但文件扩展名.yaml而不是.ckpt除外,在键盘上按return键(如果出现提示,请确认更改文件扩展名),并将其放在与模型相同的文件夹中(例如,如果您下载了768-v-ema.ckpt模型,请将其重命名为768-v-ema.yaml,并将其与模型一起放入stable-diffusion-webui/models/Stable-diffusion中)。

  • 还提供稳定扩散2.0深度模型(512-depth-ema.ckpt)。通过按住键盘上的选项并单击此处下载v2-midas-inference.yaml配置文件,然后以上述方式使用.yaml扩展名重命名,并将其与模型一起放入stable-diffusion-webui/models/Stable-diffusion。请注意,该模型在512宽度/高度或更高的图像尺寸下工作,而不是768。

故障排除

Web UI无法启动:

如果您在尝试使用./webui.sh启动Web UI时遇到错误,请尝试从stable-diffusion-webui文件夹中删除repositoriesvenv文件夹,然后在再次运行./webui.sh之前使用git pull更新Web UI。

性能不佳:

目前,macOS上的GPU加速使用了大量的内存。如果性能较差(如果使用任何采样器生成具有20个步骤的512x512图像需要超过一分钟),请先尝试从--opt-split-attention-v1命令行选项(即./webui.sh --opt-split-attention-v1开始,看看这是否有帮助。如果这没有太大区别,请打开位于/应用程序/实用工具中的活动监视器应用程序,并检查内存选项卡下的内存压力图。如果在生成图像时内存压力以红色显示,请关闭Web UI进程,然后添加--medvram命令行选项(即./webui.sh --opt-split-attention-v1 --medvram)。如果性能仍然很差,并且该选项的内存压力仍然为红色,那么请尝试--lowvram(即./webui.sh --opt-split-attention-v1 --lowvram)。如果使用任何采样器生成具有20步的512x512图像仍然需要几分钟以上,那么您可能需要关闭GPU加速。在Xcode中打开webui-user.sh,并将#export COMMANDLINE_ARGS=""更改为export COMMANDLINE_ARGS="--skip-torch-cuda-test --no-half --use-cpu all"

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

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

相关文章

DJ4-3 路由器的工作原理

目录 一、路由器的整体结构 二、输入端口的功能 1. 三大模块 2. 查找与转发模块 三、交换结构 1. 经内存的交换结构 2. 经总线的交换结构 3. 经交换矩阵交换结构 四、输出端口的功能 五、排队 1. 输入端口排队 2. 输出端口排队 一、路由器的整体结构 路由器的两个…

一秒钟给硬盘文件做个树状结构目录

一秒钟给硬盘文件做个树状结构目录 一、背景 对于长时间坐在电脑前的打工人来说,若没有养成良好文件分类习惯的话,年终整理电脑文件绝对是件头疼的事情。 给磁盘文件做个目录,一目了然文件都在哪里?想想都是件头疼的事情。 对于…

golang 实现 ldif 数据转成 json 初探

theme: Chinese-red 「这是我参与11月更文挑战的第 8 天,活动详情查看:2021最后一次更文挑战」 上一篇我们分享了如何将 ldif 格式的数据,转换成 json 数据的思路并画相应的简图 这一次,我们就来实现一下 实现方式如下&#xff…

P1829 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演)

[国家集训队]Crash的数字表格 / JZPTAB 题目描述 今天的数学课上,Crash 小朋友学习了最小公倍数(Least Common Multiple)。对于两个正整数 a a a 和 b b b, lcm ( a , b ) \text{lcm}(a,b) lcm(a,b) 表示能同时整除 a a a 和…

『pyqt5 从0基础开始项目实战』10.日志记录 鼠标右键打开(保姆级图文)

目录 导包和框架代码实现右键功能实现日志展示弹窗编写一个日志文件用于测试日志展示完整代码main.pythreads.pydialog.py 总结 欢迎关注 『pyqt5 从0基础开始项目实战』 专栏,持续更新中 欢迎关注 『pyqt5 从0基础开始项目实战』 专栏,持续更新中 导包和…

Python常用练习小例子

Python常用练习小例子 1、输出九九乘法表 源码如下: # 九九乘法表 for i in range(1, 10):for j in range(1, i1):print({}x{}{}\t.format(i, j, i*j), end)print() # 换行,相当于print(end\n) 其中,rint({}x{}{}\t.format(i, j, i*j), e…

Kubespray v2.21.0 离线部署 Kubernetes v1.25.6 集群

文章目录 1. 前言2. 预备条件3. 配置代理4. 下载介质5. 初始化配置6. 安装部署工具6.1 配置 venv 部署环境6.2 配置容器部署环境 7. 配置互信8. 编写 inventory.ini9. 编写 offline.yml10. 部署 offline repo11. 部署 kubernetes 1. 前言 Kubespray 是 Kubernetes incubator 中…

【Python合集】程序员系列代码之“这么好的天气应该去放风筝,而不是在搬砖,好想去放风筝哦~”(附完整代码)

导语 ☽ ☽ ☽ ☽ ☽ ☽ 文案丨April 19th, 2023 ☆ ☽ ☽☽ ☽☽ ☽ 江滩边摇摇晃晃的风筝 是春日越冬归来的信号 风筝蹦蹦跳跳 看盎然春意四处热闹阿姨路过菜摊子 带把香椿回家炒蛋细子摘桑 被酸得直口水嗲嗲裹着棉袄 托起霸缸到处晒大阳妹子没管倒春寒 提前换上短…

HttpServletRequest

1、HttpServletRequest对象 在Servlet API中,定义了一个HttpServletRequest接口,它继承自ServletRequest接口,专门用于封装HTTP请求消息 1.1 获取请求行信息的相关方法 当访问Servlet时,请求消息的请求行中会包含请求方法、请求…

Spring入门案例--bean实例化

bean实例化 对象已经能交给Spring的IOC容器来创建了,但是容器是如何来创建对象的呢? 就需要研究下bean的实例化过程 ,在这块内容中主要解决两部分内容,分别是 bean是如何创建的实例化bean的三种方式, 构造方法,静态工厂 和 …

USB TO SPI / USB TO I2C 软件概要 1 --- 专业版调试器

所需设备: 1、USB转SPI_I2C适配器(专业版); 软件概述: SPI类: USB TO SPI 1.0-Slave SPI从机软件,适合单步调试,支持SPI工作模式0、1、2、3,自动跟随主机通讯速率,自动接收数据; USB TO SP…

21、指标监控

文章目录 1、SpringBoot Actuator1、简介2、1.x与2.x的不同3、如何使用4、可视化 2、Actuator Endpoint1、最常使用的端点2、Health Endpoint3、Metrics Endpoint4、管理Endpoints1、开启与禁用Endpoints2、暴露Endpoints 3、定制 Endpoint1、定制 Health 信息2、定制info信息1…

springboot集成nacos配置管理

官方文档:Nacos Spring Boot 快速开始 个人实践: Namespace定义环境,例如:开发环境、测试环境、生产环境。 Group定义不同的应用。 DataId用来区分配置,例如:mysql配置,redis配置&#xff0…

web集群

1. 简述静态网页和动态网页的区别 1.更新和维护: 静态网页内容一经发布到网站服务器上,无论是否有用户访问,这些网页内容都是保存在网站服务器上的。如果要修改网页的内容,就必须修改其源代码,然后重新上传到服务器上…

新一代异步IO框架 io_uring | 得物技术

1.Linux IO 模型分类 相比于kernel bypass 模式需要结合具体的硬件支撑来讲,native IO是日常工作中接触到比较多的一种,其中同步IO在较长一段时间内被广泛使用,通常我们接触到的IO操作主要分为网络IO和存储IO。在大流量高并发的今天&#xff…

【golang学习笔记】——(三)golang vscode编译第一个程序

这里有一个盲区的坑,先埋下,待会再讲。 一、工程创建 首先是在一个自己需要的文件夹下创建一个.go空文件,老传统,这里就是hellowrold.go,致敬原神Brian Kernighan(1978年出版的《The C Programming Langua…

数据库----------自增长约束、非空约束

目录 1.自增长约束(auto_increment) 1.概念 2.特点 3.指定自增字段初始值 4.delete和truncate在删除后自增列的变化 2.非空约束(not null) 1.概念 2.语法 3.添加非空约束 4.删除非空约束 1.自增长约束(auto_increment) 1.概念 在MysQL中,当主键定义为自增…

Can we learn better with hard samples

摘要 在深度学习中,小批量训练通常用于优化网络参数。然而,传统的小批处理方法可能无法学习到数据中代表性不足的样本和复杂的模式,从而导致泛化的时间更长。为了解决这一问题,提出了一种传统算法的一种变体,它训练网…

【基于 Arduino 的 RFID门锁】

【基于 Arduino 的 RFID门锁】 1. 概述2. 射频识别的工作原理3. RFID 和 Arduino4. Arduino RFID门锁门禁项目5. 源代码 在本教程中,我们将了解什么是 RFID,它是如何工作的以及如何制作基于 Arduino 的 RFID 门锁。您可以观看以下视频或阅读下面的书面教…

CTFWIKI-PWN-ret2syscall

该题目是在32位下 目录 先进行checksec ​编辑 ida 1.execve() 2.寄存器 3.流程图 4.我们需要先看看execve()函数的函数调用号 5.使用ROPgadget来查看 我们先进行查看eax|ret 查看 pop ebx,ecx,edx,ret 查找 /bin/sh的地址 查找int 0x80 查看字符偏移量 附上流程…