Stable Diffusion lora训练(一)

news/2025/3/25 3:56:28/

一、不同维度的LoRA训练步数建议

  1. 2D风格训练

    • 数据规模:建议20-50张高质量图片(分辨率≥1024×1024),覆盖多角度、多表情的平面风格。
    • 步数范围:总步数控制在1000-2000步,公式为 总步数 = Repeat × Image × Epoch / Batch_size
    • 示例:Image=30张,Repeat=10,Epoch=5,Batch_size=2 → 750步(偏低,需增加Epoch至10)。
      在这里插入图片描述
  2. 2.5D风格训练

    • 数据规模:30-60张图片,需兼具平面与立体细节(如半厚涂、轻3D渲染)。
    • 步数范围:推荐1500-3000步,通过提高Epoch(8-12轮)增强细节捕捉能力。
  3. 3D风格训练

    • 数据规模:50-100张高精度建模图,需包含光影、材质、多视角特征。
    • 步数范围:建议15000步左右,搭配Dadaptation优化器动态调整学习率。

二、不同底模的步数适配策略

底模类型适用场景步数调整要点推荐总步数范围
Pony二次元、轻量化风格降低Epoch(5-8轮),防止过拟合800-1500步
F1厚涂、ACG风格提高Repeat至12-15次以强化质感1200-2500步
SD1.5通用型、人像与场景兼容标准参数(Repeat=10,Epoch=10)1000-2000步
Illustrious高精度3D与写实风格增大Batch_size(4-6)以加速深度训练2000-3000步

三、LoRA训练小技巧

数据预处理优化

  • 使用智能裁剪工具(如ComfyUI)聚焦主体,避免“截肢”或背景干扰。
  • 结合BLIP或WD 1.4 Tagger生成标签后,手动补充细节描述(如材质、光源)。

参数调优技巧

  • 学习率平衡:Unet学习率设为0.0001-0.001,Text Encoder学习率降低至其1/5-1/10。
  • 正则化图像:添加5-10张非目标风格图片(如素描),提升模型泛化性。

硬件适配策略

  • 显存≤6G时,Batch_size=1,通过提高Repeat或Epoch补偿训练强度。
  • 显存≥12G时,Batch_size=4-6,结合梯度累积加速收敛。

模型性能评估

  • Loss率监控:保持Loss在0.3-0.5区间,过低(<0.1)可能过拟合。
  • 多轮次保存:每轮训练保存模型,测试时选择泛化性与细节平衡的版本。

四、典型训练方案示例

场景底模Image数量RepeatEpochBatch_size总步数
轻量2D角色训练Pony25张1062750步
深度3D材质训练F150张151041875步
通用写实场景训练SD1.540张12831280步

总结

  • 训练步数需根据公式动态调整,优先保证数据质量与标签精准度。
  • 2D/2.5D场景推荐1000-3000步,3D场景建议提升至1500步以上。
  • 底模选择上,SD1.5和Illustrious适合通用需求,Pony/F1需针对性优化参数。
  • 结合正则化图像与学习率平衡策略,可显著提升模型泛化性。

http://www.ppmy.cn/news/1582425.html

相关文章

【前端】Visual Studio Code安装配置教程:下载、汉化、常用组件、基本操作

文章目录 一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2、view-in-browser3、Live Server 四、基本操作五、感谢观看&#xff01; 一、Visual Studio Code下载 下载官网&#xff1a;https://code.visualstudio.com/ 进入官网后点击右上角的Download &…

spring boot 登入权限RBAC模式

首先准备好5张表 user_info表&#xff0c;用户的信息表 role表&#xff0c;角色表&#xff08;比如超级管理员、管理员、审核员、采购......&#xff09; 创建user_role表&#xff0c;user_info表&#xff0c;role表的中间表 注意了&#xff0c;role_id和user_id是 u…

用 pytorch 从零开始创建大语言模型(零):汇总

用 pytorch 从零开始创建大语言模型&#xff08;零&#xff09;&#xff1a;汇总 本系列官方代码库&#xff1a;https://github.com/rasbt/LLMs-from-scratch/tree/main 官方书籍&#xff1a;Build a Large Language Model (From Scratch) 本系列文章&#xff1a; 用 pytorc…

编程语言选择分析:C#、Rust、Go 与 TypeScript 编译器优化

编程语言选择分析&#xff1a;C#、Rust、Go 与 TypeScript 编译器优化 在讨论编程语言的选择时&#xff0c;特别是针对微软的 C# 和 Rust&#xff0c;以及谷歌的 Go 语言&#xff0c;以及微软试图通过 Go 来拯救 TypeScript 编译器的问题&#xff0c;我们可以从多个角度来分析和…

计算机的基本组合和工作原理

计算机的基本组成和工作原理可以概括为以下几个核心部分&#xff1a; 一、计算机的基本组成&#xff08;冯诺依曼体系结构&#xff09; 现代计算机基于冯诺依曼体系结构&#xff0c;主要由以下五大部件组成&#xff1a; 控制器&#xff08;Control Unit, CU&#xff09; 功能&…

dify创建第一个Agent

1、首先LLM模型必须支持 Function Calling 由于deepseek-R1本地化部署时还不支持&#xff0c;所以使用 qwq模型。 2、创建空白 Agent 3、为Agent添加工具 4、测试 当未添加时间工具时 询问 时间 如下 5、开启时间工具 询问如下

Java 中 ArrayList 的底层数据结构及相关分析

Java 中 ArrayList 的底层数据结构及相关分析 1. ArrayList 的底层数据结构 ArrayList 是 Java 中基于 动态数组 实现的 可变长度 集合类&#xff0c;属于 java.util 包中的 List 接口实现之一。底层使用一个 Object[] 数组存储元素&#xff0c;其核心特点是 支持随机访问&am…

【概念】Node.js,Express.js MongoDB Mongoose Express-Validator Async Handler

1. Node.js 定义&#xff1a;Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境&#xff0c;允许你在服务器端运行 JavaScript 代码。作用&#xff1a;它使得开发者可以使用 JavaScript 编写服务器端代码&#xff0c;从而实现前后端使用同一种语言。比喻&#xff1a…