mac配置stable diffusion以及模型出图优化

embedded/2025/1/24 3:45:46/

1. 基础stable diffusion webui安装

使用的工程是stable-diffusion-webui,直接clone下来即可。

然后创建一个conda环境,python为3.9

激活conda环境后,执行./webui.sh即可。脚本会自动安装必要的包,然后启动网页。

默认有一个sd v1.5的checkpoint pth。我们输入cat或者dog,点击generate,能够正常生成一副怪怪的图片就可以了。这时候,在后台,terminal中会有一系列log显示:

2. 模型更换

直接使用默认的stable diffusion webui只有一个sd v1.5的 checkpoint,出图效果一般。我们测试几张图,分别使用A dog,A cat, A Nikon camera。sd v1.5的出图是下面的:

网络上有很多提供不同类模型的网站。这里推荐c站,然后切换到Models标签,使用过滤按钮来选择Checkpoint。

我们找到一个喜欢的模型,比如这个

点击下载按钮下载checkpoint即可。然后将下载的checkpoint(以.safetensors结尾)放到stable-diffusion-webui的工程的models/Stable-diffusion文件夹里面.

回到sd webui上,点击一下checkpoint的刷新按钮,然后选择刚刚新添加的checkpoint即可。

我们还是用旧的指令,看一下生成的图

相比sd v1.5的模型,生成的图确实真实不少,尤其是尼康相机。

在civitai的网站,我们下载模型的时候,有很多model types,他们具有不同的作用,我们在优化出图质量时,要根据不同的需求来下载对应的模型。

我们先大体说一下不同model type的区别:

Stable Diffusion 是一个生成式模型框架,支持多种扩展和调整方式:


1. Checkpoint

  • 定义: Checkpoint 是指模型的权重文件,通常以 .ckpt.safetensors 格式存储。
  • 作用: 包含了训练完成后的模型的全部参数,用于生成图像。
  • 类型:
    • 基础模型: 例如 Stable Diffusion v1.5 或 v2.x。
    • 微调模型: 针对特定风格或任务微调过的模型,如动漫风格、现实风格等。
  • 使用场景: 根据需求加载不同的 checkpoint 来生成符合特定风格的图像。

2. Embedding (Textual Inversion Embedding)

  • 定义: 一种用于扩展文本提示词(Prompt)能力的小型模型文件,通常以 .pt.bin 格式存储。
  • 作用: 将特定风格、人物或主题压缩到一个短语(例如 <style_A>)中,增强生成能力。
  • 特点:
    • 对基础模型影响较小,加载时只需简单附加。
    • 文件体积较小,通常只有几 MB。
  • 使用场景: 用于生成特定人物或风格的图像,例如将现实中的人物融入生成。

3. LoRA (Low-Rank Adaptation)

  • 定义: 一种轻量级微调方法,主要用于减少模型微调的资源消耗。
  • 作用: 将模型的某些权重低秩分解,只需保存更新部分(通常较小)。
  • 优点:
    • 不需要修改原始模型。
    • 占用存储空间小,加载快速。
  • 使用场景: 用于快速适配特定风格、主题或领域,例如生成某种艺术风格的图像。

4. Dora

  • 定义: 在 Stable Diffusion 生态中,Dora 通常指与 Dora Models 相关的扩展工具或轻量级微调模块。
  • 作用: 类似于 LoRA 的小型插件或模型扩展,具体细节因应用而异。
  • 备注: Dora 较少被单独提及,可能需要结合实际工具链确认具体用途。

5. ControlNet

  • 定义: ControlNet 是一种扩展模块,用于在生成图像时添加额外的控制条件。
  • 作用: 为生成过程添加更多输入(如边缘检测、深度图、姿态骨架等),从而精确控制输出图像的结构或内容。
  • 特点:
    • 可以将特定的外部信息(如草图)与提示词结合使用。
    • 提高生成的灵活性和一致性。
  • 使用场景: 在需要对生成图像的结构严格控制时非常有用,例如生成与草图匹配的图像。

6. VAE (Variational AutoEncoder)

  • 定义: Variational AutoEncoder 是 Stable Diffusion 中用于解码潜在空间(Latent Space)的组件。
  • 作用: 将潜在空间的向量解码为可视化图像。
  • 特点:
    • 高质量的 VAE 可以提升生成图像的细节和颜色表现。
    • 通常可以单独替换 VAE 以优化模型输出。
  • 使用场景: 用于提升图像生成质量,特别是在需要更高分辨率或更多细节的任务中。

7. Workflows

  • 定义: Workflows 是生成图像的一系列步骤或流水线,通常由多个模型、插件或条件组合而成。
  • 作用: 将复杂的生成流程模块化,例如结合文本提示词、ControlNet、LoRA 和 VAE 的多步骤生成。
  • 使用场景: 自动化或批量处理任务,适合需要复合功能的复杂生成需求。

总结

名称文件类型功能特点使用场景
Checkpoint.ckpt / .safetensors基础或微调模型权重,控制整体风格和质量通用生成
Embedding.pt / .bin增强 Prompt 表达能力,加入特定风格或主题特定风格或角色生成
LoRA.safetensors轻量级微调模型,快速加载附加风格或任务灵活适配多种风格
Dora模型扩展模块类似 LoRA 的插件,具体功能依工具而异小范围功能扩展
ControlNet.ckpt / .safetensors增加对生成图像结构的控制精确生成结构化图像
VAE.ckpt / .safetensors提升解码质量,增强图像细节高质量输出
Workflows流程配置文件多模型、多模块的协同生成自动化复杂生成任务

3. webui相关扩展安装

3.1 中文包

在搜索框搜Hans,如果没有安装的话,最下面红框的地方,就会有简体中文的选项,点击install即可。

然后再安装一个bilingual,便于查看原始的英文是什么。

然后应用下载的中文包



最后点击上图右侧的 reload UI 按钮。

也可以设置双语。还是在上图的设置上,把Localization改为无,然后打开


3.2 历史生成图保存插件

插件地址为:https://github.com/zanllp/sd-webui-infinite-image-browsing.git

然后回到已安装,重启生效即可。

我们点击文生图,就可以看到之前所有用文生图生成的照片了。

也可以点击图片右上角的三点,将其发送到图生图。

3.3 主题插件

还是在extension上面搜索lobe安装

现在的主题就要美观很多,而且对于checkpoint我们可以添加一个封面,更好区分不同的checkpoint类型。

例如我们前面用过的CyberRealistic checkpoint,我们这里只有一个checkpoint的名字,没有他的具体的图片展示能让我们一下子就能看出来模型的效果。

下面我们看一下怎么添加他的效果图片。

我们还是回到C站,找到CyberRealistic,我们随便找一个他的展示图片。

然后将其保存到和checkpoint同样路径,命名为同名

再次回到webui,点一下checkpoint的刷新,就可以看到效果图片显示在checkpoint上面了。


http://www.ppmy.cn/embedded/156461.html

相关文章

JAVA 使用反射比较对象属性的变化,记录修改日志。使用注解【策略模式】,来进行不同属性枚举值到中英文描述的切换,支持前端国际化。

1.首先定义一个接口&#xff0c;接口中有两个方法&#xff0c;分别是将属性转换成英文描述和中文描述。 其实就是将数据库中记录的 0 1 &#xff0c;转换成后面的描述 这边定义了中文转换为默认方法&#xff0c;是因为有些属性不需要进行中文转换&#xff0c;或者该属性的枚举…

PID 控制算法(二):C 语言实现与应用

在本文中&#xff0c;我们将用 C 语言实现一个简单的 PID 控制器&#xff0c;并通过一个示例来演示如何使用 PID 控制算法来调整系统的状态&#xff08;如温度、速度等&#xff09;。同时&#xff0c;我们也会解释每个控制参数如何影响系统的表现。 什么是 PID 控制器&#xf…

【JavaEE】Spring(1)

一、什么是Spring和SpringBoot Spring是Java应用程序的开发框架&#xff0c;其目的就是为了简化Java开发&#xff1b;SpringBoot是在spring框架的基础上构建的一个快速开发框架&#xff0c;其作用是进一步简化Spring程序开发 二、SpringBoot项目 2.1 创建项目 1. 设置jdk版本…

使用repo下载android源码,Ubuntu安装repo

由于网络原因&#xff0c;有时可能连接不到google&#xff0c;所以这里推荐直接使用镜像网站下载&#xff0c;并配置repo的更新源为镜像源 1 &#xff0c; 新建一个文件夹&#xff0c;从清华源下载下载git-repo到本地 git clone https://mirrors.tuna.tsinghua.edu.cn/git/git…

Flutter 使用 flutter_inappwebview 加载 App 本地 HTML 文件

在 Flutter 开发中&#xff0c;加载本地 HTML 文件是一个常见的需求&#xff0c;尤其是在需要展示离线内容或自定义页面时。flutter_inappwebview 是一个功能强大的插件&#xff0c;支持加载本地文件和网络资源。本文将详细介绍如何使用 flutter_inappwebview 加载 App 本地 HT…

Apache Tomcat文件包含漏洞复现(详细教程)

1.漏洞原理 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器&#xff0c;其安装后会默认开启ajp连接器&#xff0c;方便与其他web服务器通过ajp协议进行交互。属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发…

22.日常算法

1. 按奇偶排序数组 题目来源 给你一个整数数组 nums&#xff0c;将 nums 中的的所有偶数元素移动到数组的前面&#xff0c;后跟所有奇数元素。 返回满足此条件的 任一数组 作为答案。 示例 1&#xff1a; 输入&#xff1a;nums [3,1,2,4] 输出&#xff1a;[2,4,3,1] 解释&am…

【博客之星评选】2024年度前端学习总结

故事的开端...始于2024年第一篇前端技术博客 那故事的终末...也该结束于陪伴了我一整年的前端知识了 踏入 2025 年&#xff0c;满心激动与自豪&#xff0c;我成功闯进了《2024 年度 CSDN 博客之星总评选》的 TOP300。作为一名刚接触技术写作不久的萌新&#xff0c;这次能走到这…