Stable Diffusion训练Lora模型

这篇具有很好参考价值的文章主要介绍了Stable Diffusion训练Lora模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

以下内容参考:https://www.bilibili.com/video/BV1Qk4y1E7nv/?spm_id_from=333.337.search-card.all.click&vd_source=3969f30b089463e19db0cc5e8fe4583a

1、训练Lora的2个重点步骤

第一步,准备训练要使用的图片,即优质的图片

第二部,为这些图片打标,即精准的tag

2、图片要求

数量建议20-50张,最多100张图片

不好的图片:模糊的,动作扭曲的,脸部被遮挡的,背景比较复杂的图(扣掉背景)

分辨率:如果以sd2作为基础模型,需要768*768以上

批量调整图片尺寸:https://www.birme.net/?target_width=512&target_height=512

批量调整图片格式:https://www.wdku.net/image/imageformat

3、图片打标

需要安装两个插件:

Tagger(地址:https://github.com/picobyte/stable-diffusion-webui-wd14-tagger) 以及 dataset tag editor(地址:https://github.com/toshiaki1729/stable-diffusion-webui-dataset-tag-editor)

(1)Tagger插件

图片生成tag信息的txt文件,通常输入目录和输出目录一致。

Stable Diffusion训练Lora模型,AIGC,stable diffusion

(2)Dataset Tag Editor

对tag进行处理

1)删除重复的单词,Remove duplicate tags

2)删除属于人物特征的tag,比如人物的眼睛、眉毛、鼻子、头发长度等代表人物本身的属性。凡是绑定在人物身上的,就要把它们删除。(因为后续我们需要根据lora名称直接生成这些特征,所以需要模型根据lora名称直接学到这些特征,而不需要再提供其他提示词

以下内容参考: https://www.jianshu.com/p/e8cb3ba45b1a

4、训练

安装训练图形化工具kohya,日本人写的。

(1)下载

工程地址:https://github.com/bmaltais/kohya_ss

下载后在服务器的位置:/data/work/xiehao/kohya_ss

(2)安装工程依赖包

进入该目录,安装依赖包:pip install -r requirements.txt

(3)生成执行的配置文件

执行accelerate config命令,我的配置如下:

Stable Diffusion训练Lora模型,AIGC,stable diffusion

(4)启动训练图形化界面

执行命令:python kohya_gui.py --listen 0.0.0.0 --server_port 12348 --inbrowser

Stable Diffusion训练Lora模型,AIGC,stable diffusion

5、实战

(1)从百度下载了25张zhangluyi的图片

Stable Diffusion训练Lora模型,AIGC,stable diffusion

(2)图片裁剪为768*768

https://www.birme.net/?target_width=768&target_height=768

(3)图片都转为jpt格式

https://www.wdku.net/image/imageformat

(4)使用Tag插件提取tag

批量提取的方式

Stable Diffusion训练Lora模型,AIGC,stable diffusion

执行后在linux上生成了相应的txt文件

(5)通过Dataset Tag Editor处理标签

Stable Diffusion训练Lora模型,AIGC,stable diffusion

首先,移除重复项以及人物特征提示词

Stable Diffusion训练Lora模型,AIGC,stable diffusion

然后,保存这次修改。

Stable Diffusion训练Lora模型,AIGC,stable diffusion

Stable Diffusion训练Lora模型,AIGC,stable diffusion

(6)在SD的训练模块对训练集的文件名进行处理

Stable Diffusion训练Lora模型,AIGC,stable diffusion

生成的文件信息如下:

Stable Diffusion训练Lora模型,AIGC,stable diffusion

这些文件需要放在10_zly的目录下。目录名前面数字_字母前面的数字是每次训练过程中网络训练单张图片的次数,这个目录命名很重要,定位这个bug花了我一个小时

(7)在kohya中进行训练

完成数据集准备之后,就可以在kohya进行训练了。

首先,配置基座模型信息。

Stable Diffusion训练Lora模型,AIGC,stable diffusion

提供的模型有两种方式:

【方案1】 

Pretrained model name or path指定的linux位置对应的模型,需要包含model_index.json、tokenizer目录等信息,不能只有一个safetensors文件。可以通过git lfs clone下载https://huggingface.co/digiplay/majicMIX_realistic_v4(18G)。

Stable Diffusion训练Lora模型,AIGC,stable diffusion 这个关键点很重要,定位加下载处理花了我几个小时

【方案2】

Pretrained model name or path中填写safetensors文件路径,

然后在kohya的根目录下存放两个文件

文件1:openai/clip-vit-large-patch14

Stable Diffusion训练Lora模型,AIGC,stable diffusion

文件2:laion/CLIP-ViT-bigG-14-laion2B-39B-b160k

Stable Diffusion训练Lora模型,AIGC,stable diffusion

这两个文件可以从Huggingface中下载,或者从百度云盘下载:百度网盘 请输入提取码

然后,配置训练目录

Stable Diffusion训练Lora模型,AIGC,stable diffusion

接着,配置训练参数

Stable Diffusion训练Lora模型,AIGC,stable diffusion

Optimizer这个不能使用默认的值,目前源码中只支持如下5种:

Stable Diffusion训练Lora模型,AIGC,stable diffusion

一个个试过去,看下哪个不报错。

成功执行后日志如下图所示,训练占用6G左右的GPU显存资源,训练时长20分钟,最后生成的lora 10M左右。

Stable Diffusion训练Lora模型,AIGC,stable diffusion

(8)在stable diffusion webui中检测lora模型效果

训练完成后,将Lora目录放到sd根目录extensions/sd-webui-additional-networks/models/lora下面

Webui上界面操作如下:

Stable Diffusion训练Lora模型,AIGC,stable diffusion文章来源地址https://www.toymoban.com/news/detail-659115.html

到了这里,关于Stable Diffusion训练Lora模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

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

    个人网站:https://tianfeng.space/ 其实想写LORA模型训练很久了,一直没时间,总结一下现在主流的两种LORA模型训练方式,分别是朱尼酱的赛博丹炉和秋叶大佬的训练脚本,训练效果应该是赛博丹炉更好,我个人更推荐朱尼酱的赛博丹炉,界面炫酷,操作简单,作者也是花了很多

    2024年02月09日
    浏览(50)
  • 炼丹!训练 stable diffusion 来生成LoRA定制模型

    LoRA,英文全称Low-Rank Adaptation of Large Language Models,直译为大语言模型的低阶适应,这是微软的研究人员为了解决大语言模型微调而开发的一项技术。 比如,GPT-3有1750亿参数,为了让它能干特定领域的活儿,需要做微调,但是如果直接对GPT-3做微调,成本太高太麻烦了。 LoRA的

    2024年03月27日
    浏览(49)
  • 训练自己的个性化Stable diffusion模型,LORA

    需要训练自己的LORA模型 1、有sd-webui有训练插件功能 2、有单独的LORA训练开源web界面 两个开源训练界面 1、秋叶写的SD-Trainer https://github.com/Akegarasu/lora-scripts/  没成功,主要也是cudnn和nvidia-smi中的CUDA版本不一致退出 2、 Kohya\\\'s GUI GitHub - bmaltais/kohya_ss    成功了 遇到问题1, cudn

    2024年02月04日
    浏览(57)
  • Stable Diffusion 使用lora-scripts WebUI训练LoRA模型

    如果对代码使用有困难的小伙伴可以直接使用WebUI版的LoRA模块进行训练操作。不管是训练人物,场景,风格,还是服装都是一套通用的模式,仅仅是使用不同的数据集得到的结果不同。 使用 git clone --recurse-submodules https://gi

    2024年02月17日
    浏览(48)
  • Stable Diffusion:使用自己的数据集微调训练LoRA模型

    由于本人水平有限,难免出现错漏,敬请批评改正。 更多精彩内容,可点击进入YOLO系列专栏、自然语言处理 专栏或我的个人主页查看 基于DETR的人脸伪装检测 YOLOv7训练自己的数据集(口罩检测) YOLOv8训练自己的数据集(足球检测) YOLOv5:TensorRT加速YOLOv5模型推理 YOLOv5:I

    2024年02月12日
    浏览(81)
  • stable-diffusion-webui怎么样增加自己训练的LoRA模型?

    不怕笑话,我曾经为了找这个功能,居然搞了半天时间,结果还没有搞定。 后来再不断地研究各种教程,就是没有发现这个功能,无意间发现有一个人贴了一张图片, 他只是介绍放到这个目录,他没有告诉我这个目录怎么样来的,因为我在同样的位置上没有这个目录。 这样

    2024年04月14日
    浏览(56)
  • 【AIGC】Stable Diffusion原理快速上手,模型结构、关键组件、训练预测方式

    在这篇博客中,将会用机器学习入门级描述,来介绍Stable Diffusion的关键原理。目前,网络上的使用教程非常多,本篇中不会介绍如何部署、使用或者微调SD模型。也会尽量精简语言,无公式推导,旨在理解思想。让有机器学习基础的朋友,可以快速了解SD模型的重要部分。如

    2024年02月08日
    浏览(63)
  • 保姆级教程:从0到1使用Stable Diffusion XL训练LoRA模型 |【人人都是算法专家】

    Rocky Ding 公众号:WeThinkIn 【人人都是算法专家】栏目专注于分享Rocky在AI行业中对业务/竞赛/研究/产品维度的思考与感悟。欢迎大家一起交流学习💪 大家好,我是Rocky。 Rocky在知乎上持续撰写Stable Diffusion XL全方位的解析文章: 深入浅出完整解析Stable Diffusion XL(SDXL)核心基础

    2024年02月09日
    浏览(48)
  • 【stable diffusion】图片批量自动打标签、标签批量修改(BLIP、wd14)用于训练SD或者LORA模型

    B站教学视频【:AI绘画】新手向!Lora训练!训练集准备、tag心得、批量编辑、正则化准备】 官方教程:https://github.com/darkstorm2150/sd-scripts/blob/main/docs/train_README-en.md#automatic-captioning 1.1 打标界面 根据需求,选择通用打标模型(BLIP)还是动漫打标模型(deepbooru) 设置好后,选择

    2024年02月12日
    浏览(56)
  • Stable diffusion LoRA 训练过程

    1、使用diffusers-0.14.0, stabel-diffusion 模型 v-1.5版本 下载diffusers-0.14.0 并解压,新建文件test.py, 写入以下: import torch from diffusers import StableDiffusionPipeline pipe = StableDiffusionPipeline.from_pretrained(\\\"./stable-diffusion-v1-5\\\") pipe = pipe.to(\\\"cuda\\\") prompt = \\\"a photo of an astronaut riding a horse on mars\\\" image = pi

    2024年02月16日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包