AI 绘画神器爆改指南:kohya_ss 一文速通 LoRA 训练与对比解析!

AI 绘画神器爆改指南:kohya_ss 一文速通 LoRA 训练与对比解析!

目 录

前言

上一篇文章已经讲了ComfyUI——Windows 结合最新版 ComfyUI 部署图像大模型详细步骤(含Web和本地)

这篇文章来聊一聊关于kohya_ss工具

kohya_ss是一个专为Stable Diffusion模型训练设计的工具,主要用于使用LoRA方法对模型进行微调和训练。
功能与用途

  • LoRA模型训练:kohya_ss允许用户通过LoRA(低秩适应)方法对Stable Diffusion模型进行微调。这种方法可以在不修改原始模型参数的情况下,插入新的网络层,从而实现轻量化的模型调校。
  • 可视化界面:该工具提供了一个用户友好的可视化界面,用户可以通过图形界面轻松配置训练参数,进行数据处理和模型训练,适合初学者使用。
  • 环境配置:kohya_ss支持在多种操作系统上运行,包括Linux和MacOS,用户需要配置Python环境和相关依赖库。
  • 训练流程:用户可以通过简单的步骤进行模型训练,包括数据准备、参数设置和训练启动。该工具还支持对训练过程中的错误进行分析和处理。

kohya_ss

kohya_ss是用来训练LoRA模型的一个工具,目前已经集成了GUI界面,对于新手来说非常友好,毕竟总要比改文本内的参数更加直观吧?

下面是关于kohya_ss的安装教程,整个过程还是比较简单的。

安装步骤

需要找一个文件夹(不要出现中文),在地址栏输入cmd,按回车打开命令行窗口
然后依次复制以下命令到终端并按回车;

git clone --recurse-submodules https://github.com/bmaltais/kohya_ss.git 
在这里插入图片描述


进入kohya文件夹下面,输入以下命令

cd kohya_ss python -m venv venv .\venv\Scripts\Activate.bat 
在这里插入图片描述


这里升级一下,成功

python.exe -m pip install--upgrade pip 
在这里插入图片描述


这里安装以下东西,这个地方如果遇到安装出现问题的,可以直接复制去浏览器直接下载,不影响使用

pip install https://github.com/Nuullll/intel-extension-for-pytorch/releases/download/v2.1.10%2Bxpu/intel_extension_for_pytorch-2.1.10+xpu-cp310-cp310-win_amd64.whl https://github.com/Nuullll/intel-extension-for-pytorch/releases/download/v2.1.10%2Bxpu/torch-2.1.0a0+cxx11.abi-cp310-cp310-win_amd64.whl https://github.com/Nuullll/intel-extension-for-pytorch/releases/download/v2.1.10%2Bxpu/torchaudio-2.1.0a0+cxx11.abi-cp310-cp310-win_amd64.whl https://github.com/Nuullll/intel-extension-for-pytorch/releases/download/v2.1.10%2Bxpu/torchvision-0.16.0a0+cxx11.abi-cp310-cp310-win_amd64.whl 
在这里插入图片描述

继续安装

pip install-r requirements_windows.txt 
在这里插入图片描述


不要关闭终端窗口,环境部署完毕后需要进行加速设置,输入以下命令

.\setup.bat 
在这里插入图片描述


选择第5项"(Optional) Manually configure accelerate"然后回车,并按以下选项进行选择:
*This machine
*No distributed training
no
yes
no
no
all
bf16

在这里插入图片描述


最后关闭窗口即可

打开记事本,复制添加以下内容:

@echo off chcp 65001 call venv\\Scripts\\activate.bat python kohya_gui.py --use-ipex --inbrowser @echo 启动完毕,请按任意键关闭 call pause 

这样操作更简单:

创建启动器:
去kohya_ss文件夹根目录新建文本文档,把下面这段代码复制进去(记得改中文的话保留–language zh-CN参数):

@echo off python webui.py --language zh-CN 

保存时选择"所有文件",文件名改成start.bat。之后双击这个bat文件就能直接弹出网页训练界面。

显卡设置要点:

训练LoRA时注意这几个关键设置:

  • 在【加速训练】选项卡里:混合精度选bf16,优化器千万别选带8bit的(比如adamw8bit就别用)
  • 【高级参数】里必须把注意力模式改成sdpa
    如果是A750显卡跑768x768分辨率,记得勾上"内存高效注意力"(A770 16G用户可以无视这点)

这些参数不按要求设的话,要么训练会报错,要么显存不够用。特别是优化器如果选错,训练过程会出现显存暴增的问题。

测试

在这里插入图片描述

参考资料

bmaltais:kohya_ss

Nuullll:IPEX v2.1.10+xpu+oneapi

大家觉得在本地搞这么操作跟相比直接给你提供一个Web平台训练,谁方便?接下来给大家展示一下蓝耘平台的kohya_ss

先说说蓝耘这个平台
如何注册蓝耘智算平台
1.点击注册链接:
蓝耘智算平台
2.进入下面图片界面,输入手机号并获取验证码,输入邮箱,设置密码,点击注册在这里插入图片描述

在这里插入图片描述

蓝耘是一家专业的GPU算力云服务提供商,基于行业领先的灵活的基础设施及大规模的GPU算力资源,为客户提供开放、高性能、高性价比的算力云服务,助力客户AI模型构建、训练和推理的业务全流程。

这里给大家送给福利。千万 Token 资源包福利都在送,感兴趣的赶紧来吧
https://console.lanyun.net/#/register?promoterCode=18586cc762

风吟kohya_ss-v2

说白了,就是专门提供GPU算力的云服务商。我之前用过他们的服务训练一些小模型,感觉还不错。这次蓝耘新发布了风吟kohya_ss-v2,直接web部署一站式使用,非常方便,并且响应速度确实挺快的。

在这里插入图片描述

选择GPU和添加端口后,点击立即购买

在这里插入图片描述

等待创建,然后开启

在这里插入图片描述

启动GUI后,进入页面:

在这里插入图片描述

stable diffusion模型微调方法

主要有 4 种方式:Dreambooth, LoRA(Low-Rank Adaptation of Large Language Models), Textual Inversion, Hypernetworks。它们的区别大致如下:

  • Textual Inversion (也称为 Embedding),它实际上并没有修改原始的 Diffusion 模型, 而是通过深度学习找到了和你想要的形象一致的角色形象特征参数,通过这个小模型保存下来。这意味着,如果原模型里面这方面的训练缺失的,其实你很难通过嵌入让它“学会”,它并不能教会 Diffusion 模型渲染其没有见过的图像内容。
  • Dreambooth 是对整个神经网络所有层权重进行调整,会将输入的图像训练进 Stable Diffusion 模型,它的本质是先复制了源模型,在源模型的基础上做了微调(fine tunning)并独立形成了一个新模型,在它的基本上可以做任何事情。缺点是,训练它需要大量 VRAM, 目前经过调优后可以在 16GB 显存下完成训练。
  • LoRA 也是使用少量图片,但是它是训练单独的特定网络层的权重,是向原有的模型中插入新的网络层,这样就避免了去修改原有的模型参数,从而避免将整个模型进行拷贝的情况,同时其也优化了插入层的参数量,最终实现了一种很轻量化的模型调校方法, LoRA 生成的模型较小,训练速度快, 推理时需要 LoRA 模型+基础模型,LoRA 模型会替换基础模型的特定网络层,所以它的效果会依赖基础模型。
  • Hypernetworks 的训练原理与 LoRA 差不多,目前其并没有官方的文档说明,与 LoRA 不同的是,Hypernetwork 是一个单独的神经网络模型,该模型用于输出可以插入到原始 Diffusion 模型的中间层。 因此通过训练,我们将得到一个新的神经网络模型,该模型能够向原始 Diffusion 模型中插入合适的中间层及对应的参数,从而使输出图像与输入指令之间产生关联关系。

总儿言之,就训练时间与实用度而言,目前训练LoRA性价比更高,也是当前主流的训练方法。

在这里插入图片描述


选择最上面的LoRA选项卡,然后需要在页面 内配置一些参数。

比较关键的几个参数如下:

  • Model–>Pretrained model name or path: 这里配置你的SD基础模型,我们这里用的1.5,需要指定其路径;关于SD1.5模型的下载,在1.1步骤中也有响应链接;
  • Model–>Trained Model output name:给你的模型起个名字;
  • Model–>Image folder (containing training images subfolders):训练图像数据集的目录;
  • Folders–>Output directory for trained model:训练结果的保存路径;
  • Folders–>Logging directory (Optional. to enable logging and output Tensorboard log):训练日志的保存路径;
在这里插入图片描述
  • Dataset Preparation→Instance prompt:实例级别的提示词;
  • Dataset Preparation→Class prompt:类别提示词;
  • Dataset Preparation→Training images (directory containing the training images):原始训练图像路径(后续将生成新路径并填入下方 Model→Image folder 中);

Dataset Preparation→Repeats:每张图像的重复训练次数。

在这里插入图片描述


这是在JupyterLab训练的结果

在这里插入图片描述

结果

赛博科技——kohya_ss

云端算力推荐一家价格便宜 ,稳定的平台。算力自由,4090卡时 1.38元

kohya_ss 总结

这篇文章主要介绍了 kohya_ss —— 一个专门用于 Stable Diffusion LoRA 微调训练 的工具,重点讲了本地部署蓝耘智算平台的云端一键使用方案。

工具概览

kohya_ss 是一个专门用于Stable Diffusion 模型微调的工具,核心功能是基于LoRA(低秩适应) 方法进行训练。它提供了图形化界面 (GUI),大幅降低了新手的使用门槛。整体上,它具有以下特点:

  • 轻量化:LoRA 插入少量参数层,不会修改原始模型,节省显存和存储空间。
  • 跨平台:支持 Windows、Linux、MacOS。
  • 简单流程:数据准备 → 参数设置 → 启动训练。

本地安装 vs 云端使用

本地安装(Windows)

  • 主要步骤包括:拉取仓库、配置虚拟环境、安装依赖、运行 setup.bat 并手动设置加速。
  • 训练时需注意:
    混合精度建议 bf16;
    注意力模式改为 sdpa;
    避免使用 8bit 优化器(会导致显存暴增)。
  • 优点:完全本地可控,适合长期学习和自定义环境。
  • 缺点:依赖硬件配置(显卡显存不足可能失败)。

云端使用(蓝耘风吟 kohya_ss-v2)

  • 提供现成的 Web 界面,用户只需注册、选择 GPU,即可一键开启训练。
  • 优点:免去环境配置,快速上手,适合临时或高算力需求场景。
  • 缺点:长期使用成本较高,需依赖平台算力服务。

Stable Diffusion 微调方法对比

方法原理优点缺点适用场景
Textual Inversion学习额外 embedding,不改原模型占用小,加载快难以学会模型未见过的内容定制 prompt 词汇
Dreambooth微调整个模型参数效果强大,可生成全新风格显存需求高(16G+),耗时长全面风格迁移
LoRA插入轻量层参数训练快,文件小,推理方便效果依赖基础模型主流方案,性价比最高
Hypernetworks独立网络插入中间层理论灵活官方支持少,使用较少研究或尝试性应用

LoRA 训练的关键参数

模型相关:

  • 预训练模型路径 (SD1.5/SDXL 等)
  • 输出模型名称
  • 输出目录、日志路径

数据集相关:

  • 训练图像目录
  • Instance prompt(实例提示词)
  • Class prompt(类别提示词)
  • Repeats(每张图的重复次数)

总结

整体来看,LoRA 是当前主流的 Stable Diffusion 微调方法,兼顾训练效率和实际效果。

  • 如果你有合适显卡:本地搭建 kohya_ss 环境,长期使用更灵活。
  • 如果你缺少算力或怕麻烦:蓝耘等云平台的风吟 kohya_ss-v2提供一站式训练,节省环境配置时间。

换句话说:本地适合深度玩家,云端适合快速上手。

Read more

解决Google Scholar “We‘re sorry... but your computer or network may be sending automated queries.”的问题

解决Google Scholar “We‘re sorry... but your computer or network may be sending automated queries.”的问题

解决Google Scholar “We’re sorry… but your computer or network may be sending automated queries.”的问题 在使用Google Scholar进行学术搜索时,你可能会遇到错误提示: “We’re sorry… but your computer or network may be sending automated queries. To protect our users, we can’t process your request right now. See Google Help for more information.

【MySQL飞升篇】分库分表避坑指南:垂直分库vs水平分表,分片键选对才不踩雷

【MySQL飞升篇】分库分表避坑指南:垂直分库vs水平分表,分片键选对才不踩雷

🍃 予枫:个人主页 📚 个人专栏: 《Java 从入门到起飞》《读研码农的干货日常》 💻 Debug 这个世界,Return 更好的自己! 引言 当业务数据量突破千万、亿级门槛,单库单表的性能瓶颈会如期而至——查询卡顿、写入超时、扩容困难,每一个问题都足以让后端开发者头大。分库分表(Sharding)作为核心解决方案,却常常让人陷入纠结:垂直分库和水平分表该怎么选?分片键选错会有什么后果?分表后分布式ID、跨库分页、跨库JOIN这些难题又该如何破解?本文从核心概念到实战难题,带你吃透分库分表全流程策略。 文章目录 * 引言 * 一、分库分表核心认知:为什么必须做? * 1.1 单库单表的性能瓶颈根源 * 1.2 分库分表的两大核心方向 * 二、核心拆分策略:垂直分库 vs 水平分表实战 * 2.1 垂直分库:按业务“瘦身”

Flutter 三方库 p2plib 的鸿蒙化适配指南 - 实现高性能的端到端(P2P)加密通讯、支持分布式节点发现与去中心化数据流传输实战

Flutter 三方库 p2plib 的鸿蒙化适配指南 - 实现高性能的端到端(P2P)加密通讯、支持分布式节点发现与去中心化数据流传输实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 p2plib 的鸿蒙化适配指南 - 实现高性能的端到端(P2P)加密通讯、支持分布式节点发现与去中心化数据流传输实战 前言 在进行 Flutter for OpenHarmony 的分布式办公、即时通讯或多端文件互传应用开发时,如何绕过中心服务器,实现设备间的直接、高强度加密通信?p2plib 是一款专注于 Peer-to-Peer 协议构建的底层通信库。它能让你在鸿蒙真机上轻松搭建起一套低延迟、强隐私的去中心化网络。本文将探讨如何在鸿蒙系统下构建极致的端到端交互能力。 一、原直观解析 / 概念介绍 1.1 基础原理 p2plib 利用了 UDP 打洞(NAT Traversal)和高效的加解密算法(如 Ed25519 签名),在不同的鸿蒙设备之间建立起点对点的逻辑隧道。它负责处理节点的身份验证、加密握手以及数据的分片与重组。