【 stable diffusion LORA模型训练最全最详细教程】

个人网站:https://tianfeng.space/
文章目录
- 一、前言
- 二、朱尼酱的赛博丹炉
- 1.介绍
- 2.解压配置
- 3.使用
- 训练准备
- 首页设置
- 上传素材
- 查看进度
- 三、秋叶的lora训练器
- 1.下载
- 2.预处理
- 3.参数调配
一、前言
其实想写LORA模型训练很久了,一直没时间,总结一下现在主流的两种LORA模型训练方式,分别是朱尼酱的赛博丹炉和秋叶大佬的训练脚本,训练效果应该是赛博丹炉更好,我个人更推荐朱尼酱的赛博丹炉,界面炫酷,操作简单,作者也是花了很多心思的。我会逐一介绍两种LORA模型训练方法。
二、朱尼酱的赛博丹炉
1.介绍
- 全新U升级,赛博炼丹、科技修仙:大功能
- 首页新增产品,建筑两个训川练预设:
- 升级中英文双语TAG编辑器,支持实时翻译中英文输入TAG:
- 新增自定义参数,正则化训川练集功能:
- 新增自定义参数,分层训练功能:易用性
- 更换wd14 tagger标签器(可自定义可信度阈值
- 更换anime抠图核心,同时兼容二次元与真人
- 优化自定义参数,学习率增加加减按钮功能,方便调整
- 新增参数预设管理器功能,可自定义并管理自己的预设参数(支持中文预设名)
- 输出训川练参数到模型文件夹,方便统计xyz信息
网盘链接:https://pan.baidu.com/s/1_yB_pNrNGotudYmOOwjp8g
提取码:fapv
最新的赛博丹炉已经整合到道玄界面了,就是一个新的压缩包文件,里面不仅可以使用赛博丹炉训练LORA模型,还可以在上面生图,但是对我来说用处不大,我只需要他的训练脚本,因为习惯在秋叶启动器使用了,而且更方便更全面,不过如果有新手伙伴想用的话,可以去使用支持一下博主,这里给出链接。朱尼酱B站链接

2.解压配置
下载完百度网盘压缩包后,解压后点击
\cybertronfurnace1.4\cfurnace_ui\Cybertron Furnace.exe

第一次打开会下载一些文件,请耐心等待!直到出现server start


3.使用
开启炼丹炉,让我们使用把!

训练准备
首页设置
我们需要准备使用的基础模型(大模型),和我们的训练集图片。现在我以自己举例开始演示!
基础模型使用麦橘的majicMIX realistic_v5 preview.safetensors作为底模,点击选择我们的大模型路径,召唤词可以自己命名一个,样张预览开启,就是训练的时候每50步会生成一张图查看训练效果。
好了,点击人物,确定到下一步!
上传素材

训练集最好准备50张图片,包含不同角度,你的训练集质感越高,你训练出来的效果也越好,可能几个epoch就能达到很好的效果,如果训练集模糊。质感差,100张图片,20个epoch效果也很差!
分辨率不用改,或者改成768x768,
模式选择抠图填白,就是去除背景,只保留人物做训练
TAG选择自动TAG,使用的是WD1.4TAG反推器
标签可信度阈值默认0.35,数值越小TAG越多,数值越大TAG越少,就是设置越小,反推生成TAG越多
如果训练脸部请勾选,最后点击预处理
后台可以查看进度,一般是先抠图,后TAG反推。ok,抠图完成,脸部也单独提取出来了

TAG反推也完成了,你还可以为每张图增加一些提示词,如光影,质感等词汇

我这里整理一些,把这些TAG全部新增到每张图片,别忘了脸部也新增一下。
Best quality,masterpiece,ultra high res,(photorealistic:1.4),raw photo,Kodak portra 400,film grain,

顺便推荐一个中文自动转英文的功能,打中文点击红框,自动转英文。需要的按我步骤操作一下,

进入网址https://api.fanyi.baidu.com/,注册登录后,点击通用文本翻译

点击立即使用
然后选择个人开发者,填写一些个人信息,然后选择高级版,实名认证一些,图片就不放了,因为我弄过了,就是按照流程来,很简单,之后点击界面最上面的管理控制台选项,点击开通
然后选择通用文本翻译,开通高级版,最后一步填写应用名称就行,其他不管,提交申请就完了。

把APPID和密钥填入开启就完成了。

查看进度

先别点击开始训练,查看进度界面,点击参数调优

学习步数默认50步,,epoch可以选择20,batch size可以选择4,优化器Adam,没训练一个epoch保存一次权重(模型),Precision选择半精度(负2的15次方到2的15次方之间的数),调度器默认,余弦退火就是学习率曲线类似余弦函数一样,先增大后减小,重启次数应该就是周期数,暂时默认不填。
总步数就是50x50x20/4=12500步,假如50张图片,如果加强脸部训练,步数翻倍。

我只讲一下关键参数,其他默认,学习率默认,网络维度选128,效果比较好,训练出来的lora模型文件大小144M,这也是为什么市面上不同的lora大小模型,网络维度128,64,32,分别对应144M,72M,36M网络Alpha需要调成和网络维度一样,或者一半。如网络维度128,网络Alpha128或64。样图分辨率设置成和前面图片预处理一样,如果是768x768,那么这里也改成768x768。如果爆显存就默认别改了。
样图设置可以随意不影响,可以每50步生成一次,第二个就不用改了,基本默认就行,种子随意都行,样本生成的提示词选一个。

分层训练,可以查看下图,仅帮助理解,因为lora仅仅是训练一部分网络架构,不是全部unet,unet网络就是一个u型网络架构,先进行下采样在进行上采样,中间一层就是中间层。之前写过stable diffusion原理时候讲过Unet,有兴趣看看。链接

如果没有特殊需求分层设置先默认不填,其他设置中可以加载预训练模型,如果你上次训练了一个模型没跑完,只训练8个epoch,效果不好,可以加载模型路径继续训练节省时间。正则化就是防止过拟合,如果想要开启正则化,点击开启。然后把你的图片放入正则化文件夹就行。
参数调整完毕!!回到界面,点击开始训练!!!

之后就开始训练了,耐心等待,可以查看日志,模型保存的路径点击模型即可,

我们所有的训练数据都在这,包括训练集,日志,模型,正则化目录

可以看到,样图,训练的参数配置文件,以及每个epoch的模型都保存在这,建议分别在前中后选取模型测试效果,epoch少的不一定差。对了,文件名可以改的,不影响。

到此,赛比丹炉介绍完毕了!!!应该很详细了,点个赞给博主提提神把,下面开始秋叶大佬的!
三、秋叶的lora训练器

链接:https://pan.baidu.com/s/1-AN-ulR3PTS6KYyWVPARNA
提取码:vtse
1.下载
下载完毕后解压后,先点击国内加速强制更新,然后点击启动脚本
进入界面,一般使用新手模式就行,专家模式可以调节更多参数,可能更好,但也可能得到更差的效果,所以建议使用新手界面就行,提高训练集的质量才能大幅度提高训练效果。
2.预处理
其实跟上面的差不多,把训练集的路径导入,阈值这里默认0.5,那么我们就0.5把,附加提示词还是一样,把光影,质感等等加上去,其他不改。之后点击右下角启动!
Best quality,masterpiece,ultra high res,(photorealistic:1.4),raw photo,Kodak portra 400,film grain,


通过日志可以知道完成了,这里没有抠图填白,加强脸部训练等功能,只有TAG反推,
3.参数调配

注意,在这里训练集和大模型,需要复制到训练器目录下,有点繁琐,然后再把训练集路径和大模型路径填入,
训练集复制到该目录下,20是epoch数,你要训练多少epoch,把这个数字改成几。

大模型复制到该路径下

把路径改好如下,其他参数其实和上面差不多,如果上面的能理解这里也一样。

参数如下
pretrained_model_name_or_path = "./sd-models/majicmixRealistic_v6.safetensors"
train_data_dir = "./train/aki"
resolution = "512,512"
enable_bucket = true
min_bucket_reso = 256
max_bucket_reso = 1_024
output_name = "aki"
output_dir = "./output"
save_model_as = "safetensors"
save_every_n_epochs = 2
max_train_epochs = 20
train_batch_size = 1
network_train_unet_only = false
network_train_text_encoder_only = false
learning_rate = 0.0001
unet_lr = 0.0001
text_encoder_lr = 0.00001
lr_scheduler = "cosine_with_restarts"
optimizer_type = "AdamW8bit"
lr_scheduler_num_cycles = 1
network_module = "networks.lora"
network_dim = 128
network_alpha = 128
logging_dir = "./logs"
caption_extension = ".txt"
shuffle_caption = true
keep_tokens = 0
max_token_length = 255
seed = 1_337
prior_loss_weight = 1
clip_skip = 2
mixed_precision = "fp16"
save_precision = "fp16"
xformers = true
cache_latents = true
persistent_data_loader_workers = true
lr_warmup_steps = 0
sample_prompts = "./toml/sample_prompts.txt"
sample_sampler = "euler_a"
sample_every_n_epochs = 2
点击开始训练即可


模型训练完成会保存在在output中!

OK,到此完毕了!如果对你有帮助的话,请点个赞,谢谢!!
相关文章:
【 stable diffusion LORA模型训练最全最详细教程】
个人网站:https://tianfeng.space/ 文章目录 一、前言二、朱尼酱的赛博丹炉1.介绍2.解压配置3.使用训练准备首页设置上传素材查看进度 三、秋叶的lora训练器1.下载2.预处理3.参数调配 一、前言 其实想写LORA模型训练很久了,一直没时间,总结…...
蓝桥杯上岸每日N题 第八期 (全球变暖)!!!
蓝桥杯上岸每日N题第八期(全球变暖)!!! 同步收录 👇 蓝桥杯上岸必背!!!(第五期BFS) 大家好 我是寸铁💪 冲刺蓝桥杯省一模板大全来啦 🔥 蓝桥杯4月8号就要开始了 &am…...
CSS基础介绍笔记1
官方文档 CSS指的是层叠样式(Cascading Style Sheets)地址:CSS 教程离线文档:放大放小:ctrl鼠标滚动为什么需要css:简化修改HTML元素的样式;将html页面的内容与样式分离提高web开发的工作效率&…...
https请求异常引发(Received fatal alert: unrecognized_name):如何快速解决项目中问题?
总结思考:如何做一个出色的开发者? 首先我们要承认我们大部分程序员是应用开发,不是操作系统、协议、框架开发等这类底层开发者。 其一:是否能快速定位问题。如找到出现问题的代码,bug出现在哪一行,哪个应…...
小程序 view下拉滑动导致scrollview滑动事件失效
小程序页面需要滑动功能 下拉时滑动,展示整个会员卡内容, 下拉view里包含了最近播放:有scrollview,加了下拉功能后,scrollview滑动失败了。 <view class"cover-section" catchtouchstart"handletou…...
《ROS2》教程
参考资料: 古月居 B站视频: https://www.bilibili.com/video/BV16B4y1Q7jQ/?spm_id_from333.999.0.0 对应资料:https://book.guyuehome.com/ ROS之前最好有点ROS1的基础,跳转门:ROS-https://www.bilibili.com/video/B…...
抖音seo源码开发源代码搭建分享
抖音SEO源码开发涉及到以下几个方面: 前端开发:包括抖音SEO页面的设计与布局,以及需要使用到的前端技术,如HTML、CSS、JavaScript等。 后端开发:包括抖音SEO页面的数据获取和处理,以及需要使用到的后端技术…...
MATLAB——使用建立好的神经网络进行分类程序
学习目标:使用建立好的神经网络(训练好并保存,下次直接调用该神经网络)进行分类 clear all; close all; P[-0.4 -0.4 0.5 -0.2 -0.7;-0.6 0.6 -0.4 0.3 0.8]; %输入向量 T[1 1 0 0 1]; …...
Spring5.2.x 源码使用Gradle成功构建
一 前置准备 1 Spring5.2.x下载 1.1 Spring5.2.x Git下载地址 https://gitcode.net/mirrors/spring-projects/spring-framework.git 1.2 Spring5.2.x zip源码包下载,解压后倒入idea https://gitcode.net/mirrors/spring-projects/spring-framework/-/…...
iOS永久签名工具 - 轻松签使用教程
轻松签是一款IOS端免费的IPA签名和安装工具,最新版可以不用依赖证书对ipa永久签名,虽然现在用上了巨魔(TrollStore)- 是国外iOS开发人员opa334dev发布的一款工具,可以在不越狱的情况下,安装任何一款APP。 …...
如何申请中国境内提供金融信息服务业务许可
依据《外国机构在中国境内提供金融信息服务管理规定》《外国机构在中国境内提供金融信息服务申请许可说明》等政策,外国机构在中国境内提供金融信息服务业务许可要求如下: 金融信息服务定义 所称的外国机构,是指外国金融信息服务提供者。 …...
Java多线程(六)
目录 一、什么是线程安全问题 二、产生线程安全问题的原因 三、解决线程安全问题的方法 3.1 join()等待 3.2 synchronized加锁 3.3 wait()和notify() 3.4 volatile关键字 一、什么是线程安全问题 在操作系统中,线程的调度是随机的(抢占式执行࿰…...
ceil(),floor(),round()函数C++详解
ceil() ceil()函数是这样的: double ceil(double x) ceil函数可以把x上取整。 例子: #include <bits/stdc.h> using namespace std; int main() {double a, b;cin >> a >> b;printf("ceil(%.2f) %.2…...
自动化处理,web自动化测试处理多窗口+切换iframe框架页总结(超细整理)
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 web 自动化之处理…...
企业服务器数据库中了devos勒索病毒怎么办如何解决预防勒索病毒攻击
随着科学技术的不断发展,计算机可以帮助我们完成很多重要的工作,但是随之而来的网络威胁也不断提升。近期,我们收到很多企业的求助,企业的服务器数据库遭到了devos勒索病毒攻击,导致系统内部的许多重要数据被加密无法正…...
three.js学习
三大组建:场景(scene),相机(camera),渲染器(renderer) 创建三要素代码: var scene new THREE.Scene(); // 场景 var camera new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000); // 透明相机 var renderer new THR…...
Vue3 第一节 Vue3简介以及创建Vue3工程
1.Vue3简介以及Vue3带来了什么 2.创建Vue3.0工程并分析Vue3工程结构 3.setup函数 4.ref函数 5.reactive函数 一.Vue3简介以及Vue3带来了什么 ① Vue3简介 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王࿰…...
用docker 部署springboot项目
# 加入java FROM bitnami/java # WORKDIR /usr/local/test/boot-work#镜像内的工作目录 WORKDIR /usr/local/test# ENV workPath /usr/local/test/boot-work# 宿主的当前目录 boot-v1.jarjar 拷贝到 WORKDIR下boot.jar ADD boot-v1.jar boot.jar # 暴露80端口 EXPOSE 80 # 启动…...
maven 模块打包时包含依赖和打包可执行的jar
maven 模块打包 1)maven 模块打包jar文件时,指定包含依赖(with-dependencies); 2)maven 模块打包jar文件时,指定入口MainClass、打包生成可执行的jar; vi qftools/common/src/main…...
perl脚本调用openssh不能正确执行(ctl_dir /root/.libnet-openssh-perl/ is not secure)的原因排查
在使用perl脚本的时候,通过Net::OpenSSH去获取执行节点的信息是一种常用的方法。在某个环境中,执行命令的时候出错,下面展示一下相关的代码 my $ssh_ops {user > "root", password > "password", master_opts >…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
云原生安全实战:API网关Envoy的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口,负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...
动态规划-1035.不相交的线-力扣(LeetCode)
一、题目解析 光看题目要求和例图,感觉这题好麻烦,直线不能相交啊,每个数字只属于一条连线啊等等,但我们结合题目所给的信息和例图的内容,这不就是最长公共子序列吗?,我们把最长公共子序列连线起…...
Redis上篇--知识点总结
Redis上篇–解析 本文大部分知识整理自网上,在正文结束后都会附上参考地址。如果想要深入或者详细学习可以通过文末链接跳转学习。 1. 基本介绍 Redis 是一个开源的、高性能的 内存键值数据库,Redis 的键值对中的 key 就是字符串对象,而 val…...
