Stable Diffusion 必学技能——从零开始训练专属 Lora 模型!

news2025/1/4 6:05:30

接触AI绘画的小伙伴,一定听过Lora。

Lora模型全称是:Low-Rank Adaptation of Large Language Models,可以理解为Stable-Diffusion中的一个插件,在生成图片时,Lora模型会与大模型结合使用,从而实现对输出图片结果的调整。

我们举个更容易懂的例子:大模型就像素颜的人,Lora模型就如同进行了化妆、整容或cosplay,但内在还在大模型的底子。当然Lora模型不仅仅限制于人物,场景、动漫、风格都有相对应的Lora。

作为公认最具性价比的模型训练手段,只需要不到20张图片和10分钟的训练,就可以将一个人物、物品甚至是风格融入到AI绘画中,所以说训练Lora是每一个AI绘画学者必备的技能!今天就跟着小元老师来进入学习吧~

一、

配置要求和训练环境

**1、电脑配置:**N卡 gpu 6G以上;

**2、训练环境:**除了直接用训练脚本直接进行操作外,可以使用不同的训练图形化操作界面方便操作。可以用秋叶Lora模型训练器、朱尼酱的赛博丹炉,kohya-ss gui选一个即可,电脑配置不够用 可以选择 AutoDL、Google Colab青椒云桌面、揽睿星舟等云平台。

二、

训练数据集准备

1、训练素材处理:

首先确定你的训练主题,比如某个人物、某种物品、某种画风等,确定好后准备用于训练的素材图片,素材图的质量直接决定了模型的质量,好的训练集有以下要求:

· 不少于 15 张的高质量图片,一般可以准备 20-50 张图;

· 图片主体内容清晰可辨、特征明显,图片构图简单,避免其它杂乱元素;

· 如果是人物照,尽可能以脸部特写为主(多角度、多表情),再放几张全身像(不同姿势、不同服装);

· 减少重复或相似度高的图片。

素材图准备完毕后,需要对图片做进一步处理:

· 对于低像素的素材图,可以用 Stable Diffusion 的 Extra 功能进行高清处理;

· 统一素材图分辨率,**注意分辨率为 64 的倍数,**显存低的可裁切为 512x512,显存高的可裁切为 768x768,可以通过 birme 网站进行批量裁切,尺寸越大越吃显存,可能会出现报错学习卡死等问题。

2. 图像预处理

这一步的关键是对训练素材进行打标签,从而辅助 AI 学习。这里介绍两种打标签的方法:

方法一:把训练素材文件夹路径填写到 Stable Diffusion 训练模块中的图像预处理功能,勾选生成 DeepBooru,进行 tags 打标签。

在这里插入图片描述

方法二:安装 tagger 标签器插件,进行 tags 打标签。https://github.com/toriato/stable-diffusion-webui-wd14-tagger

选择批量处理, 输入目录填写处理好的图片目录,设置标签文件输出目录,阈值设置为 0.3(生成尽可能多的标签来描述图片内容),开始打标签。

3. 打标优化

预处理生成 tags 打标文件后,就需要对文件中的标签再进行优化,一般有两种优化方法:

· 保留全部标签:

**优势:**效率快省时省力的训练出模型,拟合度提高,且过拟合出现的情况是最低的。

**缺陷:**风格会变化过大,tag调用比较困难,训练时需要把epoch提高时间成本会被拉长。

· 剔除部分特征标签

**优势:**整合成少量的触发词tag后,调用方便,更精准还原角色特征。

**缺陷:**容易导致过拟合,泛化性也会降低,如果标签删太多会导致生成的画面非常固化。

三、

训练参数调节

至此,准备工作就完成了,可以开始准备正式训练LoRA了,这边使用秋叶大佬的Lora训练器SD-Trainer,选择新手训练模式。

进入新手模式后,需要选择训练LoRA使用的大模型:

底模文件路径,选择你要训练Lora使用的大模型,直接点击右侧的小文件夹选择即可。

训练数据集路径:在选择这一步之前,需要现在sd/lora-scripts-v1.7.3/train这个文件夹下建一个文件夹,在文件夹在里面建一个“数字_英文名”的文件夹,将之前打标好的图和标签一起复制到“数字_英文名”的文件中。

修改分辨率(之前数据集的尺寸是多少,这里就用多少)保存设置:保存模型的名称修改成你想要的名称,点击开始训练,就可以在终端看到它正在疯狂训练中…这个时间会比较久,慢慢等待就好。

这个过程会比较久,等待训练成功后会提示你训练成功。至此整个Lora的训练就完成了,你可以拿你训练好的Lora在WebUI上使用了。
AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

感兴趣的小伙伴,赠送全套AIGC学习资料和安装工具,包含AI绘画、AI人工智能等前沿科技教程,模型插件,具体看下方。

在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

图片

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!

在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

这份完整版的AIGC全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

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

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

相关文章

AVAX雪崩协议/网络 详解及价格预测

AVAX是否能继续增长,关键看它能否在与以太坊等其他区块链的竞争中占据更大的份额。 以下内容涉及技术原理,经济模型及锁仓价值,与其他公链的对比。 来整体多维度的分析雪崩网络AVAX的未来及价格预测。 核心团队 Avalanche 的创建团队是 Ava …

【图形学】TA之路-矩阵

在 Unity 中,矩阵广泛用于处理各种图形变换,例如平移、旋转、缩放等。矩阵的使用不仅限于三维空间,还可以应用于二维空间的操作。了解矩阵及其运算对于游戏开发和计算机图形学非常重要。Unity 中使用的是行向量不是列向量,这个要注…

中职物联网实训室

一、中职物联网实训室建设背景 在当今科技日新月异的浪潮中,物联网技术以其迅猛的发展势头,成为了撬动数字化转型的关键杠杆,深刻地重塑着经济社会的面貌。面对这一变革,社会对精通物联网技术的应用型人才需求激增。鉴于此&#x…

高等数学:每日一题1/判断极值点和驻点数目

函数 ( ) A. 1个驻点,1一个极值点 B. 1个驻点,2一个极值点 C. 2个驻点,1一个极值点 D. 2个驻点,2一个极值点 知识点: 1.驻点与极值点的定义 2.极值点的充分条件与必要条件 本题的解题思路是对上述函数进行分段&#…

公网kafka消费者账号密码spring项目对接

公网kafka消费者带有账号密码方式的spring项目对接 最近接到一个对接的活,对方公司给出的是公网kafka模式,就是不断给你配置的消费者推送消息,并且是带有指定的账号密码方式。下面就给大家具体说一说我是怎么配置的和我配置过程中遇到的问题。…

【git】将本地文件上传到github

安装git 选择一个文件夹作为git仓库,cd到文件夹输入 git init文件夹出现.git文件夹,该文件夹默认为隐藏文件夹,设置为不隐藏 在cmd中输入 ssh-keygen -t rsa -C "xxxxxx.com"该邮箱为github邮箱,然后一路enter出现以…

并查集-应用方向以及衍生汇总+代码实现(c++)-学习一个数据结构就会做三类大题!

并查集的核心功能,合并集合,查找元素,这两个最基本的功能相关题目本文不列举了,主要是一些和图相关的: 并查集的核心母题 一、连通性检测: 问题:判断在一个图中,任意两点是否连通。…

《Python爬虫逆向实战》绕过debugger的方法汇总

禁用断点 打开控制台,点击右边的禁用断点按钮。 点击之后再刷新下,就会发现debugger失效了。 注:这种方法有个 弊端,就是我们在代码中下的断点也都将失效。 Add script to ignore list 在代码文件中任意位置右键,然…

SpringBoot读取resources下文件,不区分window和Linux系统

起因 每次发布读取项目下的文件总是要区分系统环境,烦人。 解决 log.info("读取excel开始");//获取文件路径ClassLoader classLoader getClass().getClassLoader();//获取文件流InputStream stream classLoader.getResourceAsStream("1.xlsx&qu…

PHP西陆多城市多门店多端健身系统小程序源码

🏋️‍♀️全国畅练无阻!探索“多城市多门店多端健身系统”的无限可能🏃‍♂️ 🌍 开篇:跨越地域的健身自由 你是否曾因工作调动、旅行或是居住地变化而烦恼健身计划的中断?别担心,“多城市多…

数字化营销:以数据为笔,绘品牌与消费者的未来画卷

数据在数字化营销中的重要性简直超乎想象!它能让企业精准洞察消费者的需求。就像电商平台,根据咱们的浏览和购买记录,就能推荐个性化的商品,是不是感觉特贴心,购买意愿也瞬间提高了?而且数据还能帮企业优化…

大数据-84 Spark 集群 RDD创建 RDD-Transformation操作算子 详解

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

CSS 伪类和伪元素

也是选择器的一种,被称为伪类和伪元素。这一类选择器的数量众多,通常用于很明确的目的。 伪类 什么是伪类 伪类是选择器的一种,它用于选择处于特定状态的元素。 比如当它们是这一类型的第一个元素时(:first-child)&…

Sentinel入门与进阶:微服务流量控制的最佳实践 ( 六 )

8.Gateway 整合 Sentinel(熔断、限流) 8.1.引入依赖 在 Spring Cloud Alibaba 2.1.6之前的版本,引入的是 sentinel-spring-cloud-gateway-adapter 包,并且需要自己实现好多配置类,2.1.6 之后的版本内部已经帮我们实现…

php 在app中唤起微信app进行支付,并处理回调通知

<?phpnamespace app\api\controller;use think\facade\Db; use think\facade\Log;class Wxzf {

计算机网络之分组交换时延的计算

一.类型 分组交换的时延包括一下几种&#xff1a; 1.1发送时延 发送时延&#xff0c;也叫传输时延&#xff0c;结点将分组的所有比特推向链路所需要的时间&#xff0c;即从发送分组的第一个比特算起&#xff0c;到该分组的最后一个比特发送完为止。 发送时延 分组长度 / 发…

Web Image scr图片从后端API获取基本实现

因系统开发中需求&#xff0c;会有页面显示图片直接从后端获取后显示&#xff0c;代码如下&#xff1a; 后端&#xff1a; /*** 获取图片流* param response* param fileName*/RequestMapping(value"getImgStream",method RequestMethod.GET)public void getImgStr…

【JAVA】深入理解守护线程与非守护线程:概念、应用及示例

文章目录 介绍1. 线程的基础知识2. 守护线程与非守护线程2.1 什么是守护线程&#xff1f;特点&#xff1a; 2.2 什么是非守护线程&#xff1f;特点&#xff1a; 3. 为什么需要守护线程&#xff1f;示例&#xff1a;后台任务处理示例&#xff1a;日志记录 4. 非守护线程的应用场…

Scrapy 项目部署问题及解决方案

部署 Scrapy 项目时可能会遇到一些常见问题。以下是几个常见的部署问题及其解决方案&#xff1a; 1、依赖问题 问题&#xff1a;部署后爬虫运行失败&#xff0c;通常是由于缺少依赖库。 2、配置问题 问题&#xff1a;爬虫在部署环境中无法正常运行&#xff0c;可能是由于配…

stm32智能颜色送餐小车(openmv二维码识别+颜色识别+oled显示)

大家好啊&#xff0c;我是情谊&#xff0c;今天我们来介绍一下我最近设计的stm32产品&#xff0c;我们在今年七月份的时候参加了光电设计大赛&#xff0c;我们小队使用的就是stm32的智能送餐小车&#xff0c;虽然止步于省赛&#xff0c;但是还是一次成长的经验吧&#xff0c;那…