当前位置:首页|资讯|AI绘画|GitHub

【AI绘画】更多参数!更快设置!lora训练WebUI插件

作者:WSH032发布时间:2023-04-21



摘要

        本专栏将分享一个基于Kohya训练脚本的多平台通用WebUI插件,适用于任何kohya脚本的lora训练整合包(比如秋叶包)。提供SD-WebUI插件或直接部署的方式。此脚本类似kohya_ss GUI,使用此插件,你能很快且方便的完成lora训练的参数设置。

关键词:lora训练、插件、参数设置、WebUI,kohya-config-webui

参考:

  1. Kohya:https://github.com/kohya-ss/sd-scripts/



序言

        如果你用过我分享的Colab进行过lora训练,我在里面提供了一种基于Colab Notebook风格的交互式参数设定,不知你们觉得使用感受如何。

        除了Colab风格,和秋叶包的txt风格,目前还有一比较流行的风格是kohya_ss GUI这种,使用WebUI的方式完成参数指定和开始训练。

        但是kohya_ss的部署好像是要连环境一起部署?同时移植性不太行?(我没用过,不确定)

        此插件同样提供了WebUI界面,同时不对环境有过多要求,轻量化部署。可以保证在Windows和Colab上一键部署(理论上AutoDL等云平台应该也是可以的,但是我没计算单元来测试)。


A. 正文

这篇专栏是一种要点说明书的风格,看不懂没关系,周末会出一期视频来演示完整流程。

  • (一)安装方式:

    1、SD-WebUI插件方式(请使用2023年第13周稳定版以上):

    打开SD-WebUI,扩展->从网址安装,把这个连接复制进去,安装,重启SD-WebUI即可

    https://github.com/WSH032/kohya-config-webui.git

        2、直接部署

        克隆我的github仓库(链接同上),或直接从github上下载zip并解压(直接下载将无法使用update.bat)

        运行目录下的install_webui.ps1安装依赖

        完成后运行run_webui.ps1启动插件


(二)原理:

首先我们要知道lora训练时指定参数的原理,目前就三种。

  1. 通过命令行的方式传递参数(秋叶包和大多数整合包)

  2. 以toml格式指定,这也不算新方法,3月就出了,这是Linaqruf提出来的,但是我一直没见有人用。

  3. 以json的格式,这个就更没人用了。

此插件采用的是第二种方法,原理是生成指定参数的toml文件,方便你向各个整合包的脚本传递参数。这种方法的toml格式可读性、移植性都强于命令行方式。但缺点是你要手动去写toml文件。不过此插件会帮你完成这一步。


(三)使用要点:

打开此插件


1、首先看到右上角的写入文件夹,这个插件会生成两个文件:config_file.toml和sample_prompts.txt,写入文件夹决定了这两个文件的生成位置。

在最新版的秋叶包中有一个toml文件夹,你就填 : "秋叶包地址\lora-scripts\toml" 就行

2、其他的参数按你自己的情况来填就行,使用的逻辑和Colab里的交互是一样的

训练集和正则化集路径一定要填“5_concept”的父目录,不要弄错了,不然找不到材料

3、模型选择,填入你本地的模型文件夹(比如SD-WebUI里你用的模型文件夹),按一下刷新按钮,列表里就出来模型了,你选就行

不要理那个推荐,这个是早期AI绘画圈推荐的出图的模型,不是推荐你用这个训练

4、修改模型输出地址和你的lora模型名字

注意这里,你下一次训练别的lora时可以不改那个输出地址,只改lora名字就可以,因为插件会把lora名字和输出地址连一起,比如下图实际的输出位置是E:\novelai-webui-aki-v2\output\output_name\

你要是用过我的Colab就知道是什么意思,因为是参考Colab来写这个插件的。

5、全部参数填好后,按确认,然后按生成toml

注意这里,你只改WebUI是不会更新参数的,你必须按确认,插件才会更新你要的参数

进阶参数你哪怕不用,也要去点一下确认,或者直接点全部确认。

你可以在各自的选项卡里查看当前已经确认的参数

6、WebUI不会记录上一次的界面,你一刷新或者重开就变成默认界面参数了。所以我提供了保存功能,来记录上一次的参数。

保存只会保存已经确认的参数,不是保存UI上的参数 ; 读取只会更新UI,但不会刷新确认

也就是说:先确认、后保存;先读取,后确认

保存和读取目录,你要是没特别需求,用默认的就行;保存名字你可以自行修改,比如这次叫BA.toml,下次叫hifumi.toml来区分不同训练参数,就和SD-Webui里那个词条保存一样懂吧

(四)训练:

点击生成后会出现两个文件:

config_file.toml        负责训练参数
sample_prompts.txt        负责采样配置

到这里插件的使用就已经结束了。那么我们要怎么用这两个文件呢?

最新秋叶包里面有一个train_by_toml.ps1文件,打开

把生成的那两个文件地址填进去,然后右键powershell运行这个train_by_toml.ps1就可以训练了,和之前的秋叶方式一样。



(五)作者想法:

        其实写这个插件最开始的目的是为了重构我的Colab。我目前分享的那个Colab是用秋叶脚本魔改的,逻辑很混乱,马上就要变成屎山了;再加上秋叶脚本更新比较频繁,我没有时间立马跟进,一不跟进就很容易出bug。

        所以以后的Colab会改版为WebUI风格。参数的添加是我来控制的,我有空就会去改,没空不改也不会报错。

        但是这也导致了一个问题,因为目前只有我一人维护这个插件,所以肯定是不能按秋叶频率来添加新功能。你要是感兴趣,可以在github向我pull request。kohya_config_webui.py里面有一段维护指南,添加新参数和维护秋叶包的方式类似(但是python语言)。

        下一步的计划是增加多概念分离参数训练的功能,可以同时指定不同的keep tokens等。



结尾

       吐槽下uncle和aunt,虽说我分享B站不是为了收益,但是入坑两个月,激励=0,连计算单元都买不起,怪不得一堆人退站。

        现在的快节奏社会,大家都喜欢看短视频,稍微长一点的视频都没流量(说实话,我也不喜欢看长视频)。

        但是知识分享这东西,要是为了流量去压缩时长,讲的不明不白的,反正我是不喜欢。但确实长视频又没人看。

        视频这东西,本身就不适合分享干货,制作又麻烦。所以我喜欢写专栏,也喜欢看好专栏。但B站的专栏流量比视频差远了。(也有可能是我写的差)

        你要说我做分享是纯菩萨,完全不求回报的,那是不可能的。

        我做分享一个是喜欢,一个是一边分享一边学习新技能,最看重的还是的是播放量、浏览量、点赞、收藏数这些数据,让我以后介绍自己有吹嘘的资本是吧[脱单doge]

        最后,觉得有用的的话,你可以先试用这个插件,觉得不错再回来点个三连,或者去github点个小星星也是可以的觉得不好就来点个踩

[WSH032/kohya-config-webui] : https://github.com/WSH032/kohya-config-webui

感谢你的阅读,嘻嘻




by Happy_WSH









Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1