【深度学习】【Lora训练2】StabelDiffusion,Lora训练过程,秋叶包,Linux,SDXL Lora训练

文章目录

  • 一、如何为图片打标
    • 1.1. 打标工具
      • 1.1.1. 秋叶中使用的WD1.4
      • 1.1.2. 使用BLIP2
      • 1.1.3. 用哪一种
  • 二、 Lora训练数据的要求
    • 2.1 图片要求
    • 2.2 图片的打标要求
  • 三、 Lora的其他问题
    • qa1
    • qa2
    • qa3
    • qa4
    • qa5
  • 四、 对图片的处理细节
    • 4.1. 图片尺寸问题
    • 4.2. 图片内容选取问题
    • 4.3. 什么是一张合适的图?
      • 4.3.1. 解决水印问题——inpainting
      • 4.3.2. 解决边界的问题——裁剪
      • 4.3.3. 解决主体多的问题——删除
      • 4.3.4. 解决审美的问题——删除
  • 问询、帮助

上篇文谈论了一些基础使用,接下来实验一些更细节的问题。

文章链接:

kohya_ss:

https://qq742971636.blog.csdn.net/article/details/138135484

秋叶包基础:

https://qq742971636.blog.csdn.net/article/details/138195344

一、如何为图片打标

1.1. 打标工具

1.1.1. 秋叶中使用的WD1.4

一种词汇打标器,原始训练数据应该是来源于Danbooru 图像, Danbooru 就类似于分类,表述图中有的元素单词,这种倾向于是一个一个的单词(tag)来打标图片。

在这里插入图片描述
图片打标结果展示如下,一行是一个图片的打标:

solo, monochrome, 1girl, portrait, greyscale, short hair, realistic, traditional media, lips, smile

no humans, monochrome, greyscale, traditional media

1.1.2. 使用BLIP2

BLIP2,这个在kohya_ss中有可视化界面,或者使用程序:

https://huggingface.co/Salesforce/blip2-opt-2.7b

BLIP2的提示语更倾向于是一个短语短句子。

1.1.3. 用哪一种

都差不多,最终都会被CLIP转为嵌入量,只要打标准确达意就好。

二、 Lora训练数据的要求

参考资料:https://zhuanlan.zhihu.com/p/676456908

2.1 图片要求

数量我觉得质量越好、数量越多肯定是最好的。

分辨率适中,勿收集极小图像。

数据集需要统一的主题和风格的内容,图片不宜有复杂背景以及其他无关人物。

图像人物尽量多角度,多表情,多姿势。

凸显面部的图像数量比例稍微大点,全身照的图片数量比例稍微小点。

堆糖:https://www.duitang.com
花瓣:https://huaban.com
pinterest:https://www.pinterest.com

通常,准备数百张图像是理想的(图像数量太少会导致类别图像无法被归纳,特征也不会被学习)。

如果要使用生成的图像,生成图像的大小通常应与训练分辨率(更准确地说,是bucket的分辨率,见下文)相匹配。

2.2 图片的打标要求

如果想要用文字自由控制头发是什么颜色,那么tag中对头发颜色的描述就可以保留。

如果是某个特定的人物ID或者画风,不想要文字控制,想要Lora直接就有效果,那么就需要删除这种描述文字。

在这里插入图片描述

三、 Lora的其他问题

qa1

为什么lora有附加提示词?:如之前的概念,附加提示词是为了更好触发Lora功能,如果在后续Lora使用中,加上这个附加提示词去生图,那么就嘎嘎被控出Lora风格,附加提示词最好整点与众不同的词。

qa2

lora训练多少轮合适?:10轮,20轮。看到还有200轮的,loss收敛就好。

qa3

Lora模型的不同之处:网络结构(LoRA/LoCon/LoHa/DyLoRA)?:详细看秋叶包的解释。

qa4

Lora的正则化数据,这种训练数据可以用模型生成或者自己找,比如画风Lora训练中,只想生成卡通人物,那么正则数据就可以选真实人物。

qa5

你为什么会觉得BLIP2的标记更好?

WD1.4的打标是一些tag词,比如我训练的素描风格数据,WD1.4给的tag词里有很多相同的词,比如“monochrome, greyscale, traditional media ”,这些词导致了在后续我使用Lora生图过程中,我需要加这种描述词才能很好地触发Lora风格。而BLIP2的标记只会描述物体内容,就不至于出现这种问题。

只能说,各有长处,每个标记txt文件或许要审查一下更好,偷懒地话用BLIP2或许可以更懒一点。

在这里插入图片描述

四、 对图片的处理细节

比如我要训练SDXL的Lora,这种Lora可以将图片改为素描风格,我需要什么样的图片?我应该如何处理图片?哪种图片适合?

4.1. 图片尺寸问题

我需要的是高清图,要有足够的细节。SDXL本身是1024*1024的适应,所以我找的图不能太小,最小也应该有个768的大小。这一点上,可以借助一些超分算法和美化算法来调整图片尺寸,让图片有足够多的细节。故图片最小边大于512就足够好了,不用苛刻太多。

4.2. 图片内容选取问题

基本概念是,模型学习的是一种映射关系,对于没见过怎么转换的,迁移能力不是很强。比如我训练了中国墨水化的Lora,都是用的一些风景图片训练的,那么用这个Lora去生成人物是很垃圾的。模型见过类似的图片映射,才能聪明起来,这是训练的核心。

基于此,如果我想要的是画风Lora,那么我搞的数据应该尽量是各种各样的数据都来点;如果我想要的是某个人物的样貌Lora,那么最好搞的数据就全是这个人物的图片。

在素描风格中,我找了一些乱七八糟的图,我希望Lora学习到的是一种笔触风格:
在这里插入图片描述

4.3. 什么是一张合适的图?

基本原则是,凡是带有干扰的图,我都不会要,我都会修改。我要纯粹表达Lora的意向,图片要纯粹

4.3.1. 解决水印问题——inpainting

下图的红圈内都是不想要的图片内容,需要想办法去除:

在这里插入图片描述
win10企业版本的图片查看器可以一定程度修改这种情况:

在这里插入图片描述
可以看到擦出了很多,有人问下图还有擦不掉的怎么做,当然是直接把这张图扔垃圾桶里。

在这里插入图片描述

4.3.2. 解决边界的问题——裁剪

人物或者画风的Lora训练都需要遵循“图片要纯粹”。

比如画风中这张图的边界其实是一个很差的点,我们绝对不想要Lora指导生图出来的图中有这种难看的边界:

在这里插入图片描述
裁剪掉即可:

在这里插入图片描述

人物Lora训练也有类似的情况,比如这张图,如果是人物Lora,就需要裁剪这张图,因为要突出纯粹的核心内容。

在这里插入图片描述

裁剪后是这样的图才行,甚至不想绘制手,也可以把下半身裁剪一些,毕竟Lora那么傻,这么复杂的腿部姿势构图它可能学不会。

在这里插入图片描述

4.3.3. 解决主体多的问题——删除

训练素描风格,下面这个图不合适,主体太多,提示词tag很难形成映射。类似地人物Lora也是一样的道理,不要乱七八糟的无关人物干扰最好,否则就删除那张图。
在这里插入图片描述

4.3.4. 解决审美的问题——删除

训练素描风格,下面这个图不合适,需要删除。原因在于太丑,我不希望Lora指导绘图绘制出来这么拙略的出图。Lora只是一个小孩子,学映射没那么聪明,这种干扰不要当训练数据给进去,不然Lora学不好。

人物Lora也是类似地,人物如果丑,角度不好,就尽量不要用来当训练数据。

在这里插入图片描述

问询、帮助

你如果需要帮助,请看这里:

https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python批量生成防伪识别二维码

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.使用 四.总结 一.前言 二维码(QR Code)是一种矩阵条码技术,它使用黑白矩形图案来表示二进制数据,这些矩形图案可以被设备扫描并解读。二维码可以被用来存储

究极完整版!!Centos6.9安装最适配的python和yum,附带教大家如何写Centos6.9的yum.repos.d配置文件。亲测可行!

前言! 这里我真是要被Centos6.9给坑惨了,最刚开始学习linux的时候并没有在意那么的,没有考虑到选版本问题,直到23年下半年,官方不维护Centos6.9了,基本上当时配置的文件和安装的依赖都用不了了&#xff0c…

springboot 引用外配置json文件

场景 一些服务需要记录一些持久化的信息(没有数据库,redis,elasticsearch 可用) 我们就项目启动过程创建一个json 文件去记录工作内容的进程(json 可视化与改动非常方便) 实现效果 代码 application.yml…

HashTable, HashMap, ConcurrentHashMap 三者区别

目录 1. HashMap 2. HashTable 3. ConcurrentHashMap 1. HashMap HashMap 是 Java 中非常常用的一个数据结构,它主要用于存储 键值对(K,V)。 在JDK 1.7中,HashMap的实现是基于 Table数组 和 Entry链表 的组合。 从…

直播卖券有妙招:实景ai无人直播系统帮助商家自动化团购直播!

在数字化浪潮席卷的今天,直播卖券已成为商家推广和营销的重要手段。然而,如何高效、精准地利用直播卖券,让每一位观众都能沉浸在购物的乐趣中,成为商家们迫切需要解决的问题。幸运的是,实景AI无人直播系统应运而生&…

503 SERVICE_UNAVAILABLE “Unable to find instance for ***“的问题。

503 SERVICE_UNAVAILABLE "Unable to find instance for *****"问题 1. 问题描述 在完成网关微服务的配置后,网关能够被Nacos发现并正常运行,但是无法将请求转发到其他微服务。使用Postman进行请求时,返回503错误,而后…

Python程序设计 文件处理(二)

实验十二 文件处理 第1关:读取宋词文件,根据词人建立多个文件 读取wjcl/src/step1/宋词.txt文件, 注意:宋词文件的标题行的词牌和作者之间是全角空格(" ")可复制该空格 在wjcl/src/step3/cr文件夹下根据每…

畅捷通TPlus keyEdit.aspx、KeyInfoList.aspx SQL注入漏洞复现

前言 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 一、产…

C++ 结构体内存对齐

定义了两个结构体 typedef struct Cmd {uint8_t ua;uint8_t ub;uint8_t uc;uint32_t ue; } Cmd_t;typedef struct Cmd_tag {uint8_t value;uint8_t data[1]; // 将 data 定义为指向 Cmd_t 结构体的指针 } tag_t;在实际使用中,看见前人的代码是,new 一块内…

KCNScrew Pack for mac v1.8(2024.05.15)激活版 序列号查询软件

KCNScrew Pack是一款Mac序列号查询软件,内置强大的序列号数据库。软件包含数千款软件序列号,基本上大多数常用软件你都可以找到相应的序列号。 KCNScrew Pack for mac v1.8(2024.05.15)激活版 序列号查询软件 主界面 打开KCNScrew可以看到如下的主界面&…

微信自主创建表单投票小程序源码系统 带充值刷礼物功能 附带源代码以及完整的安装部署教程

系统概述 本小程序实现的核心功能包括:用户注册登录、表单提交投票、查看投票结果、在线充值以及赠送礼物等。其中,投票表单可以根据实际需求进行自定义设置,满足不同类型的调查或评选活动。同时,通过引入第三方支付接口&#xf…

STM32_IIC通信

IIC通信 • I2C(Inter IC Bus)是由Philips公司开发的一种通用数据总线 • 两根通信线:SCL(串行时钟线)、SDA(串行数据线) • 同步,半双工 • 带数据应答 • 支持总线挂载多…

C 深入指针(4)

目录 一、字符指针变量 1 初始化 2 与字符串数组的区别 二、数组指针变量 1 初始化 2 二维数组传参本质 三、函数指针变量 1 初始化 2 用法 四、typedef关键字 五、函数指针数组 一、字符指针变量 1 初始化 //VS2022 x64 #include <stdio.h> int main() {…

STM32程序下载电路设计

一、背景介绍 使用STM32F103RCT6作为单片机主控芯片&#xff0c;在进行电路板设计过程中&#xff0c;需要预留程序下载接口&#xff0c;可以选择使用JLINK下载器下载程序。 二、设计过程 1、查看STM32F103RCT6的芯片手册&#xff0c;找到下载程序的引脚端口PA13和PA14&#x…

浏览器插件Video Speed Controller(视频倍速播放),与网页自身快捷键冲突/重复/叠加的解决办法

浏览器插件Video Speed Controller&#xff08;视频倍速播放&#xff09;&#xff0c;与网站自身快捷键冲突/重复/叠加的解决办法 插件介绍问题曾今尝试的办法今日发现插件列表中打开Video Speed Controller的设置设置页面翻到下面&#xff0c;打开实验性功能。将需要屏蔽的原网…

抖音小店有订单后怎么发货?实操分享!发货全流程来了

哈喽~我是电商月月 做无货源抖音小店的店铺在出单后怎么发货&#xff1f;今天我就来给大家解答这个问题&#xff0c;其中的注意事项新手商家可以收藏一下&#xff0c;避免犯错 抖音小店的商品出单后&#xff0c;商家在“管理中心-订单管理”页面就能看见所有待处理的订单 一…

IDEA中开发并部署运行WEB项目

IDEA中开发并部署运行WEB项目 1 WEB项目的标准结构2 WEB项目部署的方式3 IDEA中开发并部署运行WEB项目3.1 部署步骤3.2 IDEA关联本地Tomcat 4 IDEA创建web工程5 IDEA部署-运行web项目6 IDEA部署并运行项目的原理 1 WEB项目的标准结构 一个标准的可以用于发布的WEB项目标准结构如…

如何快速实现Java发送邮件功能?

如何使用JAVA发送邮件&#xff1f;&#xff08;不做过多文字解释&#xff0c;详细说明请看代码注释&#xff09; 一&#xff0c;引用相关pom二&#xff0c;实现代码&#xff08;代码参考图片内容&#xff09;三&#xff0c; 接收邮件 一&#xff0c;引用相关pom <dependency…

24长三角C题9页完整建模思路+可执行代码

比赛题目的完整版思路可执行代码数据参考论文都会在第一时间更新上传的&#xff0c;大家可以参考我往期的资料&#xff0c;所有的资料数据以及到最后更新的参考论文都是一次付费后续免费的。注意&#xff1a;&#xff08;建议先下单占坑&#xff0c;因为随着后续我们更新资料数…

信息安全相关内容

信息安全 安全防护体系 安全保护等级 安全防护策略 安全技术基础 安全防护体系 安全防护体系有7个等级 安全保护等级 安全保护等级有5个等级,从上到下是越来越安全的用户自主其实就是用户自己本身具有的相应的能力 安全防护策略 安全策略是对抗攻击的主要策略安全日志: …