Stable Diffusion 系列教程 - 6 Dreambooth及训练

这篇具有很好参考价值的文章主要介绍了Stable Diffusion 系列教程 - 6 Dreambooth及训练。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Stable-Diffusion、Imagen等文生图大模型已经具备了强大的生成能力,假设我们的Prompt为 [Cyberpunk Style],SD或许能很快画出赛博朋克风格的一幅画。但你作为一个不知名的人,不能奢求SD在训练的时候把你自己想要的风格也加进去吧?这时就需要我们能自己个性化调整一下原始的基础大模型。我们日常所用的底模的参数量是巨大的,自己训练是完全不可能的(训练整个Stable-Diffusion-1.4大概要15万GPU小时。Dreambooth是谷歌的一种微调模型的方案。LORA是Dreambooth的一个简化版。通常来说Dreambooth对于一些比较抽象的或者泛指的概念来说性能是比LORA好很多的,对数据集的宽容度更高(比如天空背景,妆容等),LORA更适合于一个确定的事物。Dreambooth的训练和LORA基本上是一致的,唯一的不同就是Dreambooth不需要预处理。

Stable Diffusion 系列教程 - 6 Dreambooth及训练,stable diffusion,dreambooth,训练,finetune

DreamBooth方法是对整个扩散模型进行的微调。经过DreamBooth微调后的大模型能够同时对我们自己想要的风格和它过去已有的风格进行认知。为什么叫微调?比如你要教小朋友乘法,你不可能为了让他学会,就打印几千几万道所有的题目让他做。也就是说我们希望大模型能够在很小的代价下(几张图像)学习。请注意,这对于DreamBooth来说是不会产生过拟合的,因为大的扩散模型会在不丢失原有的参数以及不对小样本过拟合的情况下,将新的信息整合进入其输出域中。


训练

DB训练画风有100张左右的数据集就能出相当不错的效果,超过300张的话意义就不是很大了,除非是你想在训练画风的同时训练大量角色或服饰等等。虽说DB训练对数据集比较宽容,再加上由于自带分桶训练,也不需要对数据集进行裁剪,但还是需要进行一些筛选来确保数据集本身有较高质量。在挑选数据集图片时,如果可以的话,尽量选择一手图片而非截图,截图多多少少会存在失真,这些失真也会被当成特征被学进去,进而反应在产出的图片上。

训练脚本:秋叶大佬的训练器(WebUI的更新会导致插件版的训练频繁出现问题,秋叶大佬的训练器本质上运行的是Kohya_ss GUI脚本,秋叶大佬将其进行了汉化,并做了很多的防呆机制

Stable Diffusion 系列教程 - 6 Dreambooth及训练,stable diffusion,dreambooth,训练,finetune

数据集的准备参考《Stable Diffusion 系列教程 - 3》

Stable Diffusion 系列教程 - 6 Dreambooth及训练,stable diffusion,dreambooth,训练,finetune

模型种类选择:sd-dreambooth

底模路径:选择自己喜欢的底模

VAE:也是根据自己的选择

训练集路径:参考《Stable Diffusion 系列教程 - 3》,需要在填写的路径下面再建立一个子文件夹,命名格式为重复次数_文件名。这里的重复次数乘以下面的最大训练轮数相当于插件版的epochs。

reg_data_dir正则化数据集路径:用不到,留空。

reg_data_dir正则化先验损失权重:用不到,留空。

resolution分辨率:不用管,只要保证下面的enable_bucket分桶训练使能就行,dreambooth的训练不会固定分辨率。所谓的分桶即训练时脚本会根据不同的长宽比例的图像数据自动分组训练。

Stable Diffusion 系列教程 - 6 Dreambooth及训练,stable diffusion,dreambooth,训练,finetune

min_bucket_reso,max_bucket_reso,bucket_reso_steps:max_bucket_reso可以设为1280,其他的可以默认,也可以根据个人喜好。如果你的显存低于12g,那就建议不要使用DB来训练了,或者去租个在线训练。如果你的显存只有12g,那么训练时就老老实实选择768以下的分辨率吧。 

保存设置:保存精度FP16和BF16是半精度保存(2G左右),float是全精度保存(4G左右)。我喜欢选择float。其他可根据自己喜好设置。

训练相关参数:最大epoch一般设置为200,对应的保存频率为40。批次大小设1(DB训练本身很慢,动不动十几个小时,从这里抠速度意义不大,设大了反而容易波动)。stop_next_encoder_training:控制AI对我们对数据集中打的标的认识程度,低了AI会对打的标不敏感,高了容易过拟合。这个值的计算公式:敏感程度×图像数量×max_train_epoch,比如308张图,40%的敏感度,则stop_next_encoder_training=308×0.4×200=24640。最后两项梯度检查不管,空着就行。

随后的这些除了红框基本保持默认:

Stable Diffusion 系列教程 - 6 Dreambooth及训练,stable diffusion,dreambooth,训练,finetune

此外,还有一项keep_tokens:打标后有一大堆tag,tag越靠前ai对其的学习权重越高。打乱tag机制有助于更好的进行训练。但有些tag我们不希望AI降低对它的学习权重,那这里就可以通过这个参数来保证前几个参数不会被打乱。

Stable Diffusion 系列教程 - 6 Dreambooth及训练,stable diffusion,dreambooth,训练,finetune

 对于噪声设置:噪声会影响原始画风的还原度,留空不填。

高级选项:种子是玄学,默认就行。Clip skip根据自己喜好。

速度优化选项:mixed_precision选择fp16即可。bf16不够稳定。其他参数默认即可。

Stable Diffusion 系列教程 - 6 Dreambooth及训练,stable diffusion,dreambooth,训练,finetune

点击训练,就可以跑起来啦:

Stable Diffusion 系列教程 - 6 Dreambooth及训练,stable diffusion,dreambooth,训练,finetune文章来源地址https://www.toymoban.com/news/detail-783010.html

到了这里,关于Stable Diffusion 系列教程 - 6 Dreambooth及训练的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何定制属于自己的stable diffusion?Dreambooth原理详解和代码实战

    Diffusion Models专栏文章汇总:入门与实战 前言 :今天是劳动节,先向广大劳动者们致敬!AIGC大模型(如stable diffusion models)的训练成本已经超过绝大多数人的承受范围,彻底沦为中大厂/科研大组的“御用品”,这也是大模型时代的必然趋势。如何利用已有的开源大模型,微调出

    2024年02月05日
    浏览(42)
  • 【 stable diffusion LORA模型训练最全最详细教程】

    个人网站:https://tianfeng.space/ 其实想写LORA模型训练很久了,一直没时间,总结一下现在主流的两种LORA模型训练方式,分别是朱尼酱的赛博丹炉和秋叶大佬的训练脚本,训练效果应该是赛博丹炉更好,我个人更推荐朱尼酱的赛博丹炉,界面炫酷,操作简单,作者也是花了很多

    2024年02月09日
    浏览(54)
  • Stable Diffusion 系列教程 | 打破模型壁垒

    目录 1.模型基本分类 1.1 CheckPoint 大模型/底模型/主模型 1.2 VAE美化模型/变分自编码器 1.3 HyperNetwork 超网络 1.4 embeddings(/Textual Inversion) 嵌入式向量 1.5 loRa 低秩适应模型 2. 下载途径和渠道 2.1 C站 2.1.1 如何筛选到自己需要的模型 2.1.2 使用技巧 2.1.3 学习他人作品 2.2 HuggingFace 想

    2024年02月11日
    浏览(47)
  • 【AI绘图 丨 Stable_diffusion 系列教程一】— Window 环境 | Stable Diffusion入门教程 及安装(上篇)

    不过确实,Midjourney生成的图片很难精准的控制,随机性很高,需要大量的跑图(为此我也回复了很多很多信息就是让小伙伴们多跑图...),不过没关系,受到社群小伙伴们的强烈建议(也包括我可以少回复点消息),我在这篇文章中为大家分享SD的教程。 这时候肯定有朋友心

    2024年02月09日
    浏览(51)
  • 【AI绘图 丨 Stable_diffusion 系列教程四】— Window 环境 | Stable Diffusion入门教程 及安装(全篇)

      最近,AI图像生成引人注目,它能够根据文字描述生成精美图像,这极大地改变了人们的图像创作方式。Stable Diffusion作为一款高性能模型,它生成的图像质量更高、运行速度更快、消耗的资源以及内存占用更小,是AI图像生成领域的里程碑。本篇文章作者将手把手教大家入

    2024年02月13日
    浏览(67)
  • Stable Diffusion 系列教程 | 文生图 - 提示词

    目录 1.提示词 基本的规则 2.提示词分类 2.1内容性提示词 2.2 画风艺术派提示词 2.3 画幅视角 2.4画质提示词 3 反向提示词 3.1 内容性反向提示词 3.2 画质性反向提示词 4 实例分析 5 权重 5.1 方法一 5.2 方法二 6.参数 7. 学习and 技巧 7.1 辅助写提示词的网站 7.2 学习他人优秀作品 Pr

    2024年01月23日
    浏览(49)
  • Stable Diffusion 系列教程 | 图生图基础

    前段时间有一个风靡全网的真人转漫画风格,受到了大家的喜欢 而在SD里,就可以通过图生图来实现类似的效果 当然图生图还有更好玩的应用,我们一点一点来探索 首先我们来简单进行一下图生图的这一个实践---真人转动漫 和文生图基本界面差不多,多了一个上传图像区

    2024年02月11日
    浏览(62)
  • Stable Diffusion 系列教程 - 2 WebUI 参数详解

    Stable Diffusion 的整个算法组合为: UNet + VAE + 文本编码器 UNet :就是我们大模型里的核心。 文本编码器 :将我们的prompt进行encoder为算法能理解的内容(可以理解为SD外包出去的项目CLIP)。 VAE :对UNet生成的图像作后处理。 上图中红框代表的是大模型,可以通过下拉的方式来

    2024年02月04日
    浏览(48)
  • 【文生图系列】 Stable Diffusion v1复现教程

    stable diffusion是一个潜在的文本到图像的扩散模型,能够在给定任何文本输入的情况下生成照片逼真的图像。 环境配置 https://github.com/CompVis/stable-diffusion.git ( Stable Diffusion v1) conda env create -f environment.yaml 使用conda创建一个名字为ldm的虚拟环境 conda activate ldm 权重下载 在README.md中

    2024年02月09日
    浏览(47)
  • Stable Diffusion 系列教程 - 1 基础准备(针对新手)

    使用SD有两种方式: 本地: 显卡要求: 硬件环境推荐NVIDIA的具有8G显存的独立显卡,这个显存勉勉强强能摸到门槛。再往下的4G可能面临各种炸显存、炼丹失败、无法生成图片等各种问题。对于8G显存,1.0模型就不行,需要更高的环境配置,所以8G仅仅是个基础。最好还是16

    2024年02月03日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包