首页 > 其他分享 >AIGC新手炼丹师快速生成属于自己的lora--示范样例:北条时行(出自:擅长逃跑的殿下)

AIGC新手炼丹师快速生成属于自己的lora--示范样例:北条时行(出自:擅长逃跑的殿下)

时间:2024-08-16 23:24:34浏览次数:15  
标签:北条 训练 -- 模型 文件夹 2.2 lora sd

目录

一.准备工作:安装stable-diffusion和sd-trainer

二.准备数据集

2.1确定你想要的数据集

2.2准备数据集

2.2.1对于人物类的数据集

2.2.2数据集的处理

2.2.3数据集所在文件夹参考位置(出于方便考虑,仅供参考):

2.2.4由数据集生成标签

                  2.2.5对生成的标签进行修改

三.开始训练

3.1打开sd-trainer的新手模式

3.1.1准备工作:将准备好的数据集的文件复制粘贴到指定文件夹

3.1.2调整一些参数(因为是新手,所以我们只调节基本的参数!!!)

3.2开始训练

四.测试我们的lora模型

4.1将训练出来的模型放进stable-diffusion相应的目录下

4.2开始测试

4.2.1我们要先下载一个插件:additional network

4.2.2填入提示词

4.2.3启用additional networks

4.2.4使用x/y/z图表

1.在脚本里选择x/y/z图表

2.选择训练好的lora模型进行测试

4.2.5通过结果分析来找出最佳的权重和lora模型(同样是考虑到没有理论知识的前提,只进行直观的分析)

五.结语


一.准备工作:安装stable-diffusion和sd-trainer

在训练lora模型之前,我们需要在本地安装SD-WebUI (Stable Diffusion WebUI)和SD-Trainer,这里推荐B站大佬秋叶aaaki大佬的整合包(点击进入),可以快速上手并训练出自己的第一份lora模型。

注:1.尽量避免把这两个程序放在c盘,因为它们还是有点大的,D盘,E盘都是可以的

       2.显存最好8G+,当然,6G也是可以的,速度和效率会有所不同

SD-WebUI (Stable Diffusion WebUI)下载完成后,解压,进入文件,找到下图文件,即可进入Stable Diffusion,

界面如下,请确保大致界面相同(如果你也用的秋叶大佬的整合包)

SD-Trainer下载完成后,选择版本(推荐最新的),解压,进入文件,找到下图文件:即可进入SD-Trainer,(在点击进入脚本之前注意要先完成【A强制更新!!!】)

界面如下,请确保界面大致相同,(如果你也用的秋叶大佬的整合包)

  • 二.准备数据集

2.1确定你想要的数据集

       对于lora的种类,在此不做过多的赘述(你可以选择训练画风,人物角色等等),接下来我会以人物类的Lora进行示范,选取的角色为《擅长逃跑的殿下》中的主人公北条时行

2.2准备数据集

2.2.1对于人物类的数据集

1.该人物的动漫中截图,注意:如果你想训练的仅仅是该人物本身,请将图片中多余的任何人物截去!

2.寻找二创等,注意:请注意版权问题,若你的数据集有这类图片,请把握好可能的侵权问题!

2.2.2数据集的处理

              1.建议准备至少20-30张图片 注意:并非图片越多越好,且重复图片最好删去,它们对你所需要的训练的lora没有什么帮助,反而会拖累你的电脑!

              2.图片的分辨率最好调成512*512,这并非必须的,但是作为新手,这样方便且容易;如果你不想这么做,请至少将图片分辨率设置为512*(64的倍数)或者(64的倍数)*512 注意:512并非必须的,你也可以设置为(64的倍数)*(64的倍数)

【你可以使用windows电脑自带的‘画图’工具进行调节,也可以使用该网站可以批量调节图片大小,每一次最多调节30张,目前来说够用了(free),将依旧不符合条件的图片用ps,画图等工具微调即可】

2.2.3数据集所在文件夹参考位置(出于方便考虑,仅供参考)          

如图:‘lora_practice’是我存放sd-trainer的文件夹,

         ‘训练用图片-擅长逃跑的殿下’是我存放未经任何处理的数据集的文件

         ‘Input_北条时行‘是我存放经过处理的数据集的位置(我进行的是512*512)

分辨率调整后的部分结果如图:

2.2.4由数据集生成标签

打开stable-diffusion,按照下面的步骤操作:

(1)点击后期处理

(2)点击批量处理文件夹

(3)输入目录为已经调整过分辨率的数据集(示例中为:D:\aidraw\lora_practice\input_北条时行);输出目录为你要将标签输出的位置(目录),可以选择新建一个文件夹,方便查找,参考位置如图:

(4)取消‘图像放大‘的选项

(5)选中下方的生成标签,选择Deepbooru(点这个最好)

(6)点击生成

可以看到结果,进入 ‘output_北条时行‘ 文件:

每个图片会对应一个txt文档,里面就是该图片的提示词(prompt)

2.2.5对生成的标签进行修改

生成的标签会因为所给数据集的原因出现冗余的现象(多出一些莫名奇妙的标签),为了训练的lora的效果,我们可以修改每张图片所对应的提示词。

这里推荐BooruDatasetTagManager,可以更加有效的进行提示词的修改

(你可以在:BooruDatasetTagManager的下载(github)进行下载)

初始界面如图:

点击设置,进入翻译,在Translation language 一栏选择Chinese(Simplified),保存

点击文件,选择读取数据集目录,也就是我们打好标签的文件,

加载完成后如图,可以开始调整标签(北条时行明明是男孩子,给出的标签却是1girl,真可恶啊)

注:这里是可以将标签翻译成中文的,如下图:点击界面,选择翻译标签

但是这个翻译的速度很慢,而且有的标签无法翻译,体验不是很好,建议直接看原文或者百度翻译/谷歌翻译/chagpt,启动!

修改完成后,点击保存更改,如下图:

那么到此为止,一个数据集就准备完毕了,我们可以打开秋叶大佬准备的sd-trainer进行训练了

三.开始训练

【注意:建议使用Google Chrome打开sd-trianer,否则可能会出现无法训练的现象(比如edge)】

3.1打开sd-trainer的新手模式

作为新手,我们就用这个新手模式,效果也很好:

3.1.1准备工作:将准备好的数据集的文件复制粘贴到指定文件夹

我们要将准备好的数据集的文件复制粘贴到指定文件夹(这期间我们要新建两个文件夹),按照下面的图片流程进行:

这个beitiao是需要用户自己创建的,(fox是我自己之前建立的,没舍得删),你可以根据自己创建的角色的名字特征等建立一个文件夹。

注:一定要是英文,以确保全英路径!!!

这个地方的文件夹20_beitiao也是用户自己创建的文件夹,它被包含在我们上一步创建的文件beitiao里,20即这个数字有着自己的意义,一定要有!感兴趣的话可以自己去了解哦~

注:这个文件夹必须是英文名字!!!

在创建的20_beitiao中粘贴我们第二步创建的数据集

3.1.2调整一些参数(因为是新手,所以我们只调节基本的参数!!!)

对于下图的训练用模型,在civitai上随便找一个checkpoint其实基本上来说都可以(理论上,但是不建议这么做),找一些比较古老(好评如潮)的模型更稳定,更不容易翻车,例如:sd-1.5

对于上面这张图片的详解:

(1)将我们数字_名字(这里是20_beitiao)的文件夹的上一层文件(这里是beitiao)的路径复制过去即可

复制到这里:

(2)output_name模型保存名称:可以填写任意你喜欢的名字,只要你能通过名字从文件里辨别出那是你训练的模型就可以了

(3)最大训练epoch轮数设置为20,其余都可以不用改

3.2开始训练

训练时可以看看训练进度,例如:

这是一个很漫长的过程,通常需要数个小时才能完成

四.测试我们的lora模型

4.1将训练出来的模型放进stable-diffusion相应的目录下

在如图的目录里有着我们刚刚训练的模型:

我们看到有若干个模型,

我们需要把他们保存到stable-diffusion的D:\aidraw\sd-webui-aki-v4.8\extensions\sd-webui-additional-networks\models\lora目录下,一定要是这个目录,否则测试时会出现问题【建议同时放到sd-webui-aki-v4.8\models\lora里,否则可能会出现你训练的模型在stable-diffusion中的lora一栏中并不显示的问题】:

4.2开始测试

4.2.1我们要先下载一个插件:additional network

将链接https://github.com/kohya-ss/sd-webui-additional-networks放入如图的红框里:

重启stable-diffusion,就可以正常使用该插件了

4.2.2填入提示词

可以从我们处理过的数据集的标签里提取提示词,比如:

我们选择这个图片的提示词,填入;

4.2.3启用additional networks

在additional networks里任意放入一个我们训练的模型,按照下图操作:(否则会出现脚本里x/y/z图标操作时不显示lora的问题)

4.2.4使用x/y/z图表

1.在脚本里选择x/y/z图表

2.选择训练好的lora模型进行测试

对X轴:左边选择附加模型1;右侧点击如图图标,会显示你所训练的所有模型,删去你不需要测试的模型(一般是你之前训练的lora模型,这里会一次性选上)

这是显示的右侧图标点击后的结果:

对Y轴:左侧选择附加模型1权重,右侧输入:0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,代表着lora的权重

4.2.5通过结果分析来找出最佳的权重和lora模型(同样是考虑到没有理论知识的前提,只进行直观的分析)

注:这里将:当做

checkpoint

开始生成,得到:

大致可以得出:权重:0.6-1.0生成的图像和beitiao000008,beitiao000010,beitiao000014,beitiao000014,得出的图像质量比较高。

注:1.一次生成的图片并不能代表最终的结果,我们需要在排除0.0-0.5的权重和其他几个明显有问题的模型后重新生成图片,这时可以改变提示词,来提高判断的准确度,在选择出最后的模型和权重区间后就可以尽情使用你的lora模型啦。

       2.同样的,你可以去测试同一个lora模型在不同模型下的效果,找出适合该lora的模型,如:

这是我测试的几个模型,一次生成的结果为:

可以明显的看出来,1,3,6生成的图片是可以的,其他的就肉眼可见的糟糕了。 

五.结语

你是否已经制作出你所喜欢的角色的lora并为其赋予上自己独有的色彩了呢?

探索AIGC是一个漫长的旅程,我们需要掌握很多相关的知识和技能,其中的艰辛常常会让我们感到难过,但是当一张张优美的图片展现在我们眼前,绚丽的色彩能够在计算机上呈现属于自己的光芒时,我们也会显得如此开怀。

(关于人工智能,还有什么想了解的吗?告诉我吧!)

标签:北条,训练,--,模型,文件夹,2.2,lora,sd
From: https://blog.csdn.net/javanaxx/article/details/141229343

相关文章

  • 2024闪存峰会(FMS)回顾:行业趋势与创新
    一年一度的存储专业人士盛会——闪存峰会(FMS),如期在圣克拉拉会议中心举行。今年的活动吸引了约75家参展商,参会人数突破3000人,虽然这个数字仍低于新冠疫情之前的水平,但整体上仍然是一次成功的活动。会议的主题“未来记忆与存储”得到了与会者的广泛认可。参展商概览尽管参展商......
  • C程序设计——基本变量类型(指针杂谈)
    瞎聊本文后面的内容,可以暂时看不懂,以后如果从事这一行,慢慢会理解,但是这句话要记住:如果 piInt是一个指向整型的指针变量,那么 *piInt就是一个整型变量;类似的,如果pcChar是一个指向字符型的指针变量,那么*pcChar就是一个字符型的变量;……其实这部分内容,也许放在 C程序设计......
  • 2:html:基础语法2
    目录2.1图像的一些注意点2.2表格2.2.1基本的表格2.2.2表头与边框2.3列表2.3.1无序列表2.3.2有序列表2.4块2.4.1块级元素2.4.2内联元素2.1图像的一些注意点在上一篇中,我们已经知道了怎么样去将图片运用到我们的网站中,但是这里还是有一些特殊情况的,比如说浏览器打......
  • 真封神:发布网www.SouFu6.cn,新开真封神来袭!153
           真封神:发布网www.SouFu6.cn,新开真封神来袭!198       私服SF有着许多独特的品质,使其与正版游戏区别开来。首先,私服SF通常会提供大量的游戏元素和功能,比如新增的职业、装备、地图等,让玩家能够体验到更丰富的游戏内容。其次,私服SF还通常会调整......
  • 真封神:发布网www.SouFu6.cn,新开真封神来袭!116
           真封神:发布网www.SouFu6.cn,新开真封神来袭!31       私服SF有着许多独特的品质,使其与正版游戏区别开来。首先,私服SF通常会提供大量的游戏元素和功能,比如新增的职业、装备、地图等,让玩家能够体验到更丰富的游戏内容。其次,私服SF还通常会调整......
  • F. Color Rows and Columns
    原题链接题解本质:贪心+dp首先当我们面对一个矩形时,肯定是不停的枚举其最小边使得score上涨。为什么面对多个矩形不行呢?我们可以注意观察到最后一组样例的答案是35而非36。那么此时我们知晓了每个矩形得到score分的操作数设为cost[n][score]。接下来问题就简化为了......
  • HBase学习的第四天--HBase的进阶与API
    HBase进阶与API一、Hbaseshell1、Region信息观察创建表指定命名空间在创建表的时候可以选择创建到bigdata17这个namespace中,如何实现呢?使用这种格式即可:‘命名空间名称:表名’针对default这个命名空间,在使用的时候可以省略不写create'hbase01:t1','info'此时使用li......
  • while循环以及do while循环
    1.while循环当输入的变量符合while的条件时,输出会不断持续语法:放入里面后2.dowhile循环语法:3.while与dowhile的区别......
  • PbootCMS依次输出指定分组的幻灯片图片
    适用范围:全站任意地方均可使用标签作用:用于依次输出指定分组的幻灯片图片1、幻灯片轮播图列表{pboot:slidegid=*num=*}<imgsrc="[slide:src]">{/pboot:slide}控制参数:gid=*分组,必填,用于控制需要输出的幻灯片分组num=*数量,非必填,用于控制需要输出的数量,默认为5个2、可......
  • PbootCMS依次输出指定内容的多选值,也可用于遍历逗号隔开的字段,如tag
    适用范围:全站任意地方均可使用标签作用:用于依次输出指定内容的多选值,也可用于遍历逗号隔开的字段,如tag1、指定内容多选遍历{pboot:checkboxid=*field=*}[checkbox:text]{/pboot:checkbox}控制参数:id=*内容ID号,必填,用于控制需遍历多选的内容,也可使用id={content:id}、id=[......