Stable diffusion中的models

Stable diffusion model也可以叫做checkpoint model,是预先训练好的Stable diffusion权重,用于生成特定风格的图像。模型生成的图像类型取决于训练图像。

如果训练数据中从未出现过猫的图像,模型就无法生成猫的图像。同样,如果只用猫的图像来训练模型,它也只会生成猫的图像。

这里我们将介绍什么是模型,一些流行的模型,以及如何安装、使用和合并它们。

微调模型Fine-tuned models

在计算机视觉和自然语言处理领域,微调模型是指使用预训练模型,并在特定任务上进行进一步的训练,以使其适应特定的数据集或问题。通过微调,模型可以更好地理解和处理特定领域的信息,从而提高其性能和准确性。

微调的步骤

  1. 选择预训练模型:首先选择一个在大规模数据集上进行了预训练的模型,如BERT、ResNet等。
  2. 冻结部分层:通常情况下,我们会冻结模型的一部分层,以保留其在预训练数据集上学到的特征。
  3. 添加新层:根据特定任务的需求,我们会向模型中添加新的层或调整现有层的结构。
  4. 微调模型:利用特定任务的数据集,对模型进行进一步训练,以使其在该任务上表现更好。

微调的应用

微调模型在各种领域都有广泛的应用,包括情感分析、图像分类、语义分割等。通过微调,模型可以适应不同领域的特定数据分布,从而提高其泛化能力和适应性。

微调模型是一种有效的方法,可以帮助我们利用预训练模型的知识,快速构建并优化适用于特定任务的模型。通过合理的微调策略,我们可以更好地利用现有的模型和数据,从而取得更好的效果。

为什么人们要微调Stable diffusion模型?

Stable diffusion base模型非常出色,但并不是万能的。例如,它可以生成带有“动漫”关键词的动漫风格图片。然而,它可能很难生成特定子类型的动漫图片。

所以,通过微调可以生成不同风格的stable diffusion模型。下面是我们使用相同的提示词和设置,但是用不同模型生成的图片。

提示词如下:

a girl,0lg4kury,

其中0lg4kury是一个embedding。

我们分别使用了AnythingV5,dreamshaper_8和majicmixRealistic_v7这三个checkpoint来生成最终的图片。

大家可以看到,同样的提示词最后的图片效果是不同的。

其中AnythingV5是卡通风格,dreamshaper是真实绘画风格,而majicmixRealistic是真实照片风格。

使用模型是实现特定风格的简单方式。

模型是如何创建的?

checkpoint模型是一种通过额外训练和Dreambooth技术创建的模型,它们基于稳定扩散v1.5或XL等基础模型进行改进。这些方法允许用户根据自己的特定需求和兴趣来定制AI模型,从而生成更加个性化和专业化的图像内容。

额外训练: 额外训练是指使用特定的数据集对基础模型进行进一步的训练。这种方法可以让你专注于某个特定的主题或领域,例如cat。通过使用相关的数据集,你可以调整模型的输出,使其更倾向于生成具有cat特征的图像。这种方法的关键在于选择合适的数据集,并确保其与你的生成目标相匹配。

Dreambooth: Dreambooth是由谷歌开发的一种技术,它允许用户通过少量的自定义图片(通常是3-5张)将特定的主题或对象注入到文本到图像模型中。例如,如果你想要在生成的图像中包含自己的形象,你可以拍摄几张照片,并通过Dreambooth将这些图片与模型结合。这样,当你在生成图像时使用特定的关键词,模型就会根据这些图片生成包含你形象的图像。Dreambooth训练的模型依赖于这个关键词来触发特定的生成效果。

除了checkpoint模型,还有其他的模型类型,如embedding、LoRA、LyCORIS和超网络,它们各自有不同的特点和应用场景。文本反演通过定义新的关键字来描述特定的对象或风格,而LoRA和LyCORIS则提供了更快速和灵活的训练选项。超网络则是一种在原有模型基础上添加附加网络的方法,用于学习新的生成特征。

在本文中,我们将重点关注checkpoint模型。

热门的stable diffussion模型

你可以在C站上找到成千上万的模型,这里我来列举几个比较常用的模型,供大家参考:

Stable diffusion v1.4

这是Stability AI于2022年8月发布的v1.4版本, 是首个公开可用的稳定扩散模型。

这是一个通用模型,能够产生各种风格的作品,但是现在已经很少有人使用了,现在大多数人已经转向了v1.5模型。

Stable diffusion v1.5

stable diffusion v1.5 是由 Stability AI 的合作伙伴 Runway ML 于 2022 年 10 月发布。该模型基于 v1.2 并进行了进一步的训练。

模型页面未提及改进之处。与 v1.4 相比,它产生了稍微不同的结果,但尚不清楚它们是否更好。

与 v1.4 一样,您可以将 v1.5 视为通用模型。根据我的经验,v1.5 是作为初始模型的不错选择,并且可以与 v1.4 互换使用。

Realistic Vision

Realistic Vision 非常适合生成任何逼真的内容,无论是人物、物体还是场景。

DreamShaper

DreamShaper模型经过微调,适用于介于照片逼真和计算机图形之间的肖像插画风格。

majicMIX realistic

majicMIX是一个很棒的写实模型。

SDXL模型

SDXL模型是备受赞誉的v1.5和被遗忘的v2模型的升级版本。

使用SDXL模型的好处包括:

  • 更高的原生分辨率- 1024像素,而v1.5只有512像素

  • 更高的图像质量(与v1.5基础模型相比)

  • 能够生成可读的文本

  • 更容易生成较暗的图像

Anything

Anything 是一个专门训练的模型,用于生成高质量的动漫风格图片。它对于将名人形象转换为动漫风格非常有用,然后可以与插画元素无缝融合。

当然还有其他的一些非常不错的模型,大家可以多逛逛C站,那里有你所要的一切。

其他不错的模型

Deliberate v2

Deliberate v2 是可以呈现逼真的插图。其结果可能会出乎意料地好。每当你有一个好的提示时,切换到这个模型,你会得到惊喜的结果。

F222

F222模型在生成具有正确身体部位关系的美丽女性肖像方面非常棒。

ChilloutMix

ChilloutMix是一个专门用于生成亚洲女性照片模型。它就像是F222的亚洲版。

在Stable Diffusion webUI中安装和使用models

要在web GUI中安装模型,可以从C站或者其他的网站上下载对应的模型,并将checkpoint模型文件放在以下文件夹中:

stable-diffusion-webui/models/Stable-diffusion/

然后点击左侧顶部checkpoint下拉框旁边的刷新按钮。

在这个下拉列表中,你可以看到刚刚下载并安装好的模型。

还有一种方法,就是在txt2img或img2img页面中,选择Checkpoints标签页,也可以看到对应的模型。

CLIP Skip

什么是CLIP Skip?

CLIP Skip是Stable Diffusion中用于图像生成的CLIP文本嵌入网络的一项功能,它表示跳过最后的几层。

CLIP是Stable Diffusion v1.5模型中使用的语言模型,它将提示中的文本标记转换为embedding。它是一个包含许多层的深度神经网络模型。CLIP Skip指的是要跳过多少个最后的层。在AUTOMATIC1111和许多Stable Diffusion软件中,CLIP Skip为1时不跳过任何层。CLIP Skip为2时跳过最后一层,依此类推。

为什么要跳过一些CLIP层?因为神经网络在通过层时会总结信息。层越早,包含的信息就越丰富。

跳过CLIP层对图像可能会产生显著影响。许多动漫模型都是用CLIP Skip为2进行训练的。

在C站上,有些模型会专门标出对应的clip skip是多少,比如这个hellokid2d模型,他的clip skip就是2:

我们用这个模型为例,来尝试一下不同clip skip的效果:

在web UI中设置clip Skip

正常情况下在文生图或者图生图界面上是看不到clip Skip选项的。 你需要去到 Settings > User Interface > User Interface页面, 在Quicksettings list中添加 CLIP_stop_at_last_layer. 然后点击 Apply Settings 最后 Reload UI.

clip skip 滑动按钮就会显示在webUI界面上了。

合并两个models

在webUI中合并两个models是非常简单的事情,我们导航到checkpoint Merger页面,选择好对应的两个模型,并调整乘数(M)以调整两个模型的相对权重。将其设置为0.5将以相等的权重合并两个模型。

按下Run后,就会把两个模型合并成一个新的模型。

你可以根据自己的爱好来尝试合并不同的模型,通过调整对应的权重,你可以得到意想不到的结果。

Stable Diffusions model的文件格式

在模型下载页面上,您可能会看到几种模型文件格式。

  • 剪枝 (Pruned)
  • 完整 (Full)
  • 仅EMA (EMA-only)
  • FP16
  • FP32
  • .pt
  • .safetensor

这很令人困惑!您应该下载哪一个?

Pruned vs Full vs EMA-only

一些 Stable Diffusion checkpoint模型由两组权重组成:最后训练步骤后的权重和过去几个训练步骤的平均权重,称为 EMA(指数移动平均)。

如果您只对使用模型感兴趣,可以下载 EMA-only。这些是您在使用模型时使用的权重。它们有时被称为 Pruned模型

如果您想要用额外的训练对模型进行微调,那么只需要 Full模型(即由两组权重组成的检查点文件)。

因此,如果您想要用它来生成图像,请下载 PrunedEMA-only。这可以节省一些磁盘空间,哦,不对,是非常多非常多的空间。

Fp16 和 fp32 模型

FP 代表浮点。它是计算机存储十进制数的方式。这里的十进制数是模型权重。FP16 每个数字占用 16 位,称为半精度。FP32 占用 32 位,称为全精度。

深度学习模型(如 Stable Diffusion)的训练数据非常嘈杂。您很少需要全精度模型。额外的精度只是存储噪音!

因此,如果有可用的话,请下载 FP16 模型。它们大约是大小的一半。这可以节省几个 GB 的空间!

Safetensor 模型

原始的 pytorch 模型格式是 .pt。这种格式的缺点是不安全。如果有人在其中打包恶意代码。当您使用模型时,恶意代码就可以在您的计算机上运行。

Safetensors 是 PT 模型格式的改进版本。它执行与存储权重相同的功能,但不会执行任何代码。因此,如果可能的话,请下载 safetensors 版本。如果没有这个版本,那么请从可信赖的来源下载 PT 文件。

其他模型类型

在stable diffusion中,有四种主要类型的文件可以称为“模型”。

Checkpoint 模型 是真正的 Stable Diffusion 模型。它们包含生成图像所需的所有内容。不需要额外的文件。它们很大,通常为 2 - 7 GB。

文本反转(也称为embedding)是定义生成新对象或样式的新关键词的小文件。它们很小,通常为 10 - 100 KB。必须与 Checkpoint 模型一起使用。

LoRA 模型是用于修改样式的 Checkpoint 模型的小补丁文件。它们通常为 10-200 MB。必须与 Checkpoint 模型一起使用。

超网络是添加到 Checkpoint 模型的附加网络模块。它们通常为 5 - 300 MB。必须与 Checkpoint 模型一起使用。

总结

在这篇文章,我介绍了 Stable Diffusion 模型,它们是如何制作的,一些常见的模型以及如何合并它们。欢迎大家自行尝试。

点我查看更多精彩内容:www.flydean.com

怎么使用Stable diffusion中的models的更多相关文章

  1. Diffusers中基于Stable Diffusion的哪些图像操作

    目录 辅助函数 Text-To-Image Image-To-Image In-painting Upscale Instruct-Pix2Pix 基于Stable Diffusion的哪些图像操作们 ...

  2. 基于Docker安装的Stable Diffusion使用CPU进行AI绘画

    基于Docker安装的Stable Diffusion使用CPU进行AI绘画 由于博主的电脑是为了敲代码考虑买的,所以专门买的高U低显,i9配核显,用Stable Diffusion进行AI绘画的话倒 ...

  3. 使用 LoRA 进行 Stable Diffusion 的高效参数微调

    LoRA: Low-Rank Adaptation of Large Language Models 是微软研究员引入的一项新技术,主要用于处理大模型微调的问题.目前超过数十亿以上参数的具有强能力的大 ...

  4. Stable Diffusion魔法入门

    写在前面 本文为资料整合,没有原创内容,方便自己查找和学习, 花费了一晚上把sd安装好,又花了大半天了解sd周边的知识,终于体会到为啥这些生成式AI被称为魔法了,魔法使用前要吟唱类比到AI上不就是那些 ...

  5. Window10环境下,Stable Diffusion的本地部署与效果展示

    Diffusion相关技术最近也是非常火爆,看看招聘信息,岗位名称都由AI算法工程师变成了AIGC算法工程师,本周跟大家分享一些Diffusion算法相关的内容. Window10环境下,Stable ...

  6. 最新版本 Stable Diffusion 开源AI绘画工具之部署篇

    目录 AI绘画 本地环境要求 下载 Stable Diffusion 运行启动 AI绘画 关于 AI 绘画最近有多火,既然你有缘能看到这篇文章,那么相信也不需要我过多赘述了吧? 随着 AI 绘画技术的 ...

  7. 最新版本 Stable Diffusion 开源 AI 绘画工具之使用篇

    目录 界面参数 采样器 文生图(txt2img) 图生图(img2img) 模型下载 界面参数 在使用 Stable Diffusion 开源 AI 绘画之前,需要了解一下绘画的界面和一些参数的意义 ...

  8. AI绘画提示词创作指南:DALL·E 2、Midjourney和 Stable Diffusion最全大比拼 ⛵

    作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 自然语言处理实战系列:https://www.showmeai.tech ...

  9. 从 GPT2 到 Stable Diffusion:Elixir 社区迎来了 Hugging Face

    上周,Elixir 社区向大家宣布,Elixir 语言社区新增从 GPT2 到 Stable Diffusion 的一系列神经网络模型.这些模型得以实现归功于刚刚发布的 Bumblebee 库.Bum ...

  10. Stable Diffusion 关键词tag语法教程

    提示词 Prompt Prompt 是输入到文生图模型的文字,不同的 Prompt 对于生成的图像质量有较大的影响 支持的语言Stable Diffusion, NovelAI等模型支持的输入语言为英 ...

随机推荐

  1. HarmonyOS 极客马拉松2023 正式启动,诚邀极客们用键盘码出无限可能!

      原文:https://mp.weixin.qq.com/s/p2yIs0rMmDE2BwhzsAtr7A,点击链接查看更多技术内容. 2023年6月15日, HarmonyOS极客马拉松2023开 ...

  2. 把vim配置成顺手的python轻量级IDE(一)

    把vim配置成顺手的python轻量级IDE(一) 地球的外星人君 Linux云计算和Python推动市场提升的学习研究者. 分享一篇文章,正好最近正在折腾VIM,原文在把vim配置成顺手的pytho ...

  3. C++对象封装后的内存布局

    在C语言中,数据和数据的处理操作(函数)是分开声明的,在语言层面并没有支持数据和函数的内在关联性,我们称之为过程式编程范式或者程序性编程范式.C++兼容了C语言,当然也支持这种编程范式.但C++更主要 ...

  4. 给picgo上传的图片加个水印

    之前给大家介绍了picgo和免费的图床神器.我们本可以开开心心的进行markdown写作了. 但是总是会有那么一些爬虫网站过来爬你的文章,还把你的文章标明是他们的原著.咋办呢?这里有一个好的办法就是把 ...

  5. 基于ChatGPT打造安全脚本工具流程

    前言 以前想要打造一款自己的工具,想法挺好实际上是难以实现,第一不懂代码的构造,只有一些工具脚本构造思路,第二总是像重复造轮子这种繁琐枯燥工作,抄抄改改搞不清楚逻辑,想打造一款符合自己工作的自定义的脚 ...

  6. Windows 系统上如何安装 Python 环境(详细教程)

    Windows 系统上如何安装 Python 环境(详细教程) 目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的.由于2.x版官方只维护到2020年,所以以3.x版作 ...

  7. js获取时间差,返回格式为01天02小时03秒

    // 获取时间差 返回值格式:01天02小时30秒 export function caclulateDiffTime(start, end): string { start = new Date(s ...

  8. 【笔记】GO内建容器--数组

    go内建容器--数组 1.数量要写在类型的前面 2.可通过_省略变量 3.不仅是range,任何地方都可以使用_来省略变量 4.如果只要i,则可写成for i := range numbers 5.[ ...

  9. FasterViT:英伟达提出分层注意力,构造高吞吐CNN-ViT混合网络 | ICLR 2024

    论文设计了新的CNN-ViT混合神经网络FasterViT,重点关注计算机视觉应用的图像吞吐能力.FasterViT结合CNN的局部特征学习的特性和ViT的全局建模特性,引入分层注意力(HAT)方法在 ...

  10. 第六課-Channel Study For TCP Listener & HTTP Listener & Web Service Listener About Response Handler

    经过前面章节的课程,对Mirth Connect在系统集成与数据交互中的使用有了一个大概的了解:大家一定有个疑惑,Mirth Connect如何组织响应消息并返回给调用者?今天我们就来继续深入讲解Re ...