苍蓝的火焰于黑暗炸裂,直到超越世界。黑岩10年老粉,没有技术力,只有眼泪。
感谢全世界创作过黑岩的艺术家,尤其感谢Huke大神创作这个角色
最近开始研究如何训练Lora,感谢各位技术大佬,以下是自接触过Lora训练以来参照过的教程,在此一一列出,没看过的同学赶紧去看呀:
[【AI绘画】最佳人物模型训练!保姆式LoRA模型训练教程 一键包发布]
[ AI绘画】lora干货!新手小进阶(上)!三种打标方式对比及正则化对人物训练作用讨论]
[《AI绘画Stable Diffusion中文界面安装及Lora使用方法》]
[5分钟搞定Stable Diffusion环境配置,消灭奇怪的报错]
训练模型的代码来自秋葉aaak佬,感谢!
Civitai站:BlackRockShooter_Lora
地址:https://civitai.com/models/21358/blackrockshooterlora
先用自己的电脑训练,参数如下:
处理器:12th Gen Intel(R) Core(TM) i5-12490F 3.00 GHz
内存:32.0 GB
显卡:NVIDIA GeForce RTX 3060 显存12GB
操作系统:Win10
python环境:anaconda,其中:
python:3.10.6
torch: 1.13.0+cu117
1. 搜集数据,听说可以用很少的样本训练Lora,所以只收集了20张左右的图片,而且风格各异
2. 环境配置,之前配置过webui的conda的环境,直接在其基础上新下载一些包即可。
3. 处理数据,按照教程使用webui中Train标签页里的Preprocess images,存储文件名一律为“5_xxx”(居然把所有图片都放在一个文件夹里了,也不知道对不对)
坑1:命令行访问git总是提示SSL错误,之前提示过配置好了,后来又出问题了,所以干脆去github上下载源码
坑2:提前调研一下显卡显存与模型训练之间的关系,图像宽高别设太大,我的图像都设置成512*512的
坑3:别忘了勾选Use deepbooru for caption
4. 训练:打开train.ps1设置相关数据位置,设置底模位置(我使用的是cetusMix,因为比较喜欢),max_train_epoches设置成15,其他配置没变,就按照默认的来
坑1:我是使用ananconda配置环境的,发现缺失环境。因为只看到了lora-scripts文件夹下的install.ps1,没看到sd-scripts里的requirements.txt
坑2:又是访问不了github,xformer下载失败,后来看到有的教程里说把train.ps1最底下的x-fromer拿一行删掉就行了
坑3:use_8bit_adam=1导致出错,报C++编译出错,设置成0就好
5. 等待,验证
效果不太好,脸和手都崩了
果然不是随便训一下就能得到好结果的,感觉还有几个方面可以考虑:
1. 比起手,脸崩了是更不能忍受的,得想办法解决脸崩的问题
2. 画风觉得怪怪的,不是想要的感觉,应该是数据集画风太杂了
3. 人物动作都差不多
如上
大体流程不变,按照第一天的思路,对数据集进行处理
1. 尽可能保持画风一致
2. 也许应该增加一些头部特写
3. 看教程上说数据的tag可以分为全标、半标、删特征、仅唤起。所以把数据的标签乱删了一通(偷懒了,没仔细考虑)
经过无数次实验之后,结果如下,相对来说有所进步,画出了一些特征。
1. 脸部的特征有些了,比如说圈圈眼,火焰,无表情等
2. 四肢还是不行,事实上生成头像还行,生成全身像大都会崩
3. 画风好了些
这次的改进主要是针对数据集,当我发现自己不知道如何删特征时干脆就放弃了删特征,都没收敛还考虑什么泛化性能呢。
看教程的过程中发现**不同服装同角色的训练集放到不同文件夹里,而且通过repeat之后总数相近比较合适**,于是今天主要围绕这个思想进行细化实验。
由于实验室同学跑图把电脑烧了(不是,其实是进水了),而且显存貌似还不够的样子,于是决定用服务器试试。
配置如下:
处理器:15 vCPU Intel(R) Xeon(R) Platinum 8358P CPU @ 2.60GHz
内存:80.0 GB
显卡:NVIDIA GeForce RTX 3090 显存35GB
操作系统:Linux
python环境:anaconda,其中:
python:3.10.8
torch: 1.12.1+cu116
依然对数据集进行处理,没办法目前只会对数据集处理
1. 配环境,依然用anaconda,运行install.bash,用conda或者pip下载sd-scripts里的requirements。**
坑1:conda和pip需要设置清华源,否则慢得要死。
坑2:要下载python3.10以上的版本。下了个3.8直接哭了。
2. 扩充数据集,增加了狂岩以及其他角色,此外给每张图片添加特写,主要是头部、上半身和先半身
3. 将同一角色不同衣服和不同角色放在不同文件夹
4. 为方便起见,打标方式为全标
5. 训练,换了服务器出手也阔绰了起来了,图片直接设置成1024X768,结果爆显存了......
6. 再训练,图片设置成768X768,结果还是爆显存,最后设置成640X640,batch_size为1,network_dim和network_alpha为128**
在漫长的等待之后结果如下:
感觉画风和我中所想比较像了,有的图也能出标志性的五角星了,不过还是有很多问题,例如手炮、表情,人物有时也会崩。
有的人物阴影处有小点,看漫画的时候见过这种上色方式,不知道能不能去掉。
最后,看到很多很眼熟的图,毫无疑问,模型过拟合了。
接下来还要继续调整,Tag基本上没动,正则化也没用,网络参数也没改,数据也质量和数量也不够,要走的路还有很长......
未完待续☆★☆