共计 2973 个字符,预计需要花费 8 分钟才能阅读完成。
之前答应过大家放出来的 Lora 本地训练教程,终于写好啦。
会训练 lora,代表着你可以生成属于你的独一无二的角色。
你可以让这个角色在各种不同背景的地方出现,可以让它摆出各种姿势,满足你的无限幻想。
还有的商家,用 Lora 训练衣服,以致于他们可以省下不少模特,摄像的钱,
有的用 Lora 训练商品,让自己的商品以低成本高效率地获得很多高端大气上档次的商详图。
今天咱就来给大家讲讲,如何本地训练 Lora 训练模型。
提醒,本地训练模型,建议显卡显存 8G 以上,最好 12G 以上。
显存低的同学可以考虑去租 GPU 线上训练。
另外训练需要修改调试脚本,对英文和代码比较头大的人要做好心理准备。
因为训练真人有法律风险,我们这个教程,就以一个比较少见的动漫人物《君与彼女与彼女之恋》的女主之一,美雪,来做例子吧。
说起来美雪,她是我玩过的游戏里,印象很深的一个角色,她是跨越次元的爱恋的代表。
游戏里,她被困在二次元世界,却对玩家“你”(而不是游戏里玩家控制的主角) 产生了深刻的依恋,可是她又没法走出游戏,只能在二次元世界的游戏世界中,那个充满无趣和重复的小镇里,一直一直,等你来看她,等你来陪她。
你不来,她只有无尽的孤苦的寂寞。
那么今天,我们就把她拯救出来,带她穿上漂亮衣服,进入更广阔的世界遨游吧。
(美雪 - 游戏《君彼》人物角色图)
那么,开始吧。
1. 首先,下载这个 lora 训练程序包。
https://pan.quark.cn/s/d81b8754a484#/list/share
(夸克网盘,可能需要短信登陆和下载客户端,文件大概 1 个多 G)
2. 安装 notepad3. 安装 python
(1) 下载完毕后,安装 notepad3. 用于后面编辑训练参数文件。
(用 notepad3 打开代码图比记事本会有条理一些)
(2) 安装 python 文件
(记得勾选 path),如果你的系统已经安装了 python3.10. 则跳过此步。
(3) 解压 lora-scripts.zip 压缩包。
提示:如果你自已已有常用的其他文本编辑器,也可以不用安装 notepad3.
3. 进入解压后的 lora-scripts 文件夹,点击运行“强制更新 bat”,更新到最新脚本
4. 运行 install-cn.ps1 文件
(1) 先开始菜单,搜索 PowerShell,并用管理员权限运行,接着执行下面指令
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
如果提示是否执行策略,则输入 Y,再回车。
(2) 右键点击 lora-scripts 文件夹下面的 install-cn.ps1 文件,并选择使用 Powershell 运行
等待系统自动安装和配置相关环境。
如果网络问题报错,就退出,重新运行 install-cn.ps1 即可。
直到显示安装完成
(这样就是装好了,如果不放心可以多执行几次)
5. 收集整理图片
(1) 准备你要训练的人物图像,最少 8 张,最好 12 张以上。需要不同角度,正面,侧面,背面,俯视图等。
选取的图片很影响训练的质量,一定要认真选图,不要只有正面大脸图。
(训练图集)
(2) 裁剪成要训练的大小,比如我是 512×512. 并放入一个单独的文件夹,比如就叫 512.
(3) 生成 tag
打开 stable diffusion webui,输入你处理好的图片地址和输出的地址。
勾选 Auto focal point crop,Use Deepbooru for caption。
点击 Process。
等待完成。
完成之后,目标文件夹自动会给图片命名并生成对应的 tag,存储在对应的 txt 文件里面。
6. 设定训练文件夹
(1) 在 lora-scripts 文件夹下面,新建一个 train 文件夹
(2)train 文件夹下面新建一个文件夹,叫做 meixue(你如果想叫做其他 tag,也能改成其他名字)
(3)meixue 文件夹下面,再新建一个文件夹,叫做 6_meixue
(4) 把第 5 步当中的图片和 txt 文件放进 6_meixue 文件夹
7. 打开并设置训练文件
(1) 用 notepad3 打开 lora-scripts 下面的 train.ps1 文件
(2) 配置模型
找到你电脑 stable-diffusion-webui -> models -> stable-diffusion 下面的模型,最好用动漫类模型,比如我用的是 anything4.0.ckpt,大家如果用 Counterfeit,waifu,或者之类的动漫模型都行。
(如果你训练真人,就要用真实模型,比如 chilloutmix,realistic version 等)。
然后复制到 lora-scripts 下面的 sd-models 文件夹里面,并把模型文件名改成 models.ckpt. 或者 models.safetensors.
(3) 修改训练图片的文件夹名称,比如我改成了 meixue
(4)max_train_poches 这里我改成了 15. 大家选 10-20 都是可以的。
Max train epochs 下面的 save every n epochs 就是每多少个 epoches 就生成多少个 lora(safetensors) 文件。一般不用动。
(5)resolution 没动,因为我的训练图片就是 512×512. 所以没动。你如果自己的图片分辨率统一都比较大,比如都是 1024×1024. 你就改一下变成 1024.1024.
(6) 输出文件名改一下,改成 meixue
(7) 其他没提到的最好不要动。然后保存 train.ps1 文件。
8. 开始训练
右键点击 train.ps1 文件,选择 powershell 管理员运行。
大概需要几分钟到几十分钟,取决于你的显卡性能,等待训练完成。
9. 找到并使用 lora
(1) 训练完成后,在 lora-scripts 的 output 文件夹,找到生成的多个 meixue _xxxx.safetentor 文件。
(2) 放入 stable-diffusion-webui -> models -> lora 文件夹
(3) 打开 stable-diffusion-webui,点击 generate 下面的小图,点击 lora,点击 refresh,在下面找到 meixue lora,点一下。
(4) 在 prompt 区域,使用 lora 文件,并增加相关描述
点了之后,看到 prompt 中,有之类的文字,代表你要使用这个 lora,再加上自己打上的 tag“meixue”,然后 generate 生成。
你看,紫发圆脸的美雪就出来了。
她终于逃脱了次元牢笼里的小镇,穿上了漂亮的衣服,来到了海边玩耍,还交了很多新朋友~
10. 不断测试几个生成的 safetensors 文件,找到一两个你觉得拟合得最好的,然后保存。其他就可以删掉了。
一般来说,越往前的拟合越不好,越往后的越容易过拟合。
总之找到自己喜欢的,效果最好的就是了。
11. 如果对于所有的训练结果不满意,还可以继续训练,调试 train.ps1 里面的一些参数。直到你满意为止。
调试之前记得先保存一个备份。否则后面容易忘了默认参数是什么。
(别问我怎么知道的
)
好了,那么,今天的教程就先到这里吧。
这个 lora 训练很好玩的,天花板也很高,大家可以多调试着玩耍,我也试了好久写了好久。
如果觉得有用的话,记得点点关注,点点赞赏哦~
因为教程比较复杂,字比较多,图也比较多,大家要是还不会的,可以私我哈,不过不保证都能解决,但会尽力哈。
那么,我们今天的课就先到这里,下课!