欢迎来到觉悟之坡AI绘画传授教化系列之第33篇。
(三上Yua老师平行天下作品-by Stable diffusion)
(三上Yua老师平行天下作品-by Stable diffusion)
之前发布过2篇动漫炼丹教程,利用的都是秋叶lora script 演习包。紧张演习二次元动漫人物,还是蛮好用的。
但在实际上,我们除了演习二次元人物之外,也常常要演习三次元人物。
比如福利姬老师可以演习自己然后穿上各种美美的衣服来拍照,减少自己的日常事情量。
我们也可以演习模特人物之后,得到自己的AI模特(把稳,商用需授权)。
还有的女生,也有用自己照片演习自己的lora,可以让这个电子替人在赛博天下,替自己穿上美美的衣服,去各种地方,还能保留自己最美的年华和最好的样子。
总之,三次元炼丹还是有蛮多运用处景的。
但是,三次元炼丹比二次元炼丹相对要繁芜一些(难一些),由于三次元里面的人物,是三维的,比二次元人物多一维,也就代表着机器须要学习更多数据才能学会你的人物特色,也意味着如果有一点没学会或者没学对,都会让你的人物演习功亏一篑(不像,崩图,泛化性差等)。
下面,给大家分享一下我们这边的炼丹履历和步骤吧。
1.下载演习包
(1)下载星空大佬(独立研究员-星空)的lora演习包,大概2.8G
https://pan.baidu.com/s/13bitXRlVRlcZrbo0s_lF0w?pwd=dpmt
下载完解压。记得路径里面不要有中文。
2.安装python3.10版本
(如果你电脑已经有python3.10的其他版本,也可以不用安装。如果非3.10,则要安装一下3.10)
(1)官方下载地址https://www.python.org/downloads/release/python-3108/
(2)下载安装python
记得勾选path再点击install now,后面便是按默认的选项即可。
装好之后,开始菜单打开cmd命令提示符,输入python,可以看到版本号解释安装好了。
3. PowerShell 管理员模式打开 实行Set-ExecutionPolicy Unrestricted
(1)开始菜单输入powershell,用管理员身份运行
(2)输入Set-ExecutionPolicy Unrestricted并回车,如果提示y/n则输入y再回车。没提示就不用管。
4.安装环境依赖
右键单击演习包里面的install.ps1,选择用powershell运行。
等待他安装完毕。如果安装中间报错。则关掉这个install.ps1的玄色小窗重新右键单击install.ps1用powershell运行,以再次实行安装。
安装完成后,他会显示下面菜单。
可以通过数字按键来选择选项,0是第一个选项,1是第二个选项,以此类推。选好按回车确认。
建议按照以下选择来设置:
This machine(本机)
No distributed training(非分布式演习)
No
Yes
Inductor
yes
5.准备演习集(图片素材)
下面就以我们熟习的三上Yua老师为例,来准备素材吧。
(1)准备好得当的照片凑集,建议准备50张以上的照片素材,且分辨率须要是你目标演习分辨率的2倍以上(比如你想演习512x512的,那素材至少1024x1024),方便后续裁剪和加工。不要少于30张。要有不同的角度。不能都是正脸大头照。
把稳:
脸部有遮挡的不要(比如麦克风,手指,杂物等),
背景太繁芜的不要(比如广告板,上面一堆字,或者夜市背景太乱)
分辨率太低的不要(目标分辨率2倍以下的不要,方便裁切),
光影比较分外的不要(比如暗光,背光等)。
不像本人特色的不要(比如大部分演习集都是长发,那么短发显脸大的不要)
扮装太浓重的,美颜太严重的不要。
(2)把图像裁剪成得当大小。
演习真人建议至少裁剪成512768,如果显存够大,最好裁剪成1024像素以上。(图像越大,演习速率越慢,显存占用越高)
三种裁剪方法,从快而禁绝确到慢而精确的方法依次是:
a)用webui的图像预处理(preprocesser)自动裁剪(见后面打标部分)。
b)用https://www.birme.net/之类的图像批处理软件裁剪。
c)用photoshop,美图秀秀之类的软件手动裁剪图像。
6.Tag打标和tag整理
(1)在stable diffusion webui的train(演习)-preprocess images(图片预处理)下面,输入你裁剪后的图片地址和输出结果地址。
下面输入图片尺寸(或者你想裁剪成的图片尺寸。上面说的裁剪图片最
接着选择split和use deepbooru for caption。
再点击preprocess开始对图片进行处理。
预处理完,你会创造目标文件夹里面每个图片阁下涌现了一个txt文件,打开一看,里面是每张图片的tag(标签)
(2)整理每个图片的标签,每个图片对应的标签第一句加上你要演习的trigger word(触发词),比如我要叫做sanshangyua,就打开每一个tag文件(txt)文件,在最前面加入sanshangyua这个关键词。
这一步可以利用BooruDatasetTagManager 之类的tag管理工具批量处理提升效率。(https://github.com/starik222/BooruDatasetTagManager/releases)
部分专属人物特色须要从tag里面删除。
部分tag里面没表示的主要场景可以手工补充tag。也可以用类似tagger之类的工具再跑一次tag来优化。
7.设置演习文件夹
演习包里面新建一个train文件夹,里面放上你要演习的trigger word建一个文件夹。比如我就建一个sanshangyua文件夹,下面再建一个10_sanshangyua文件夹,里面放入刚刚处理完的图片文件和tag文件。
8.设置演习参数并开始演习。
(1)右键点击并用powershell运行演习包里面的run.ps1文件
(2)根据运行结果把提示的地址放浏览器地址栏打开
(2)选择演习根本模型,建议利用sd1.5或者chilloutmix系列模型。
(3)设置演习集地址和输出地址以及演习的lora名字
(4)打开演习参数(training paramenters)页面设置演习参数,没有标注的参数新手请按默认值。老手可以调着玩。
(5)演习参数-高等设置,use 8bit adam的勾记得去掉。其他的基本不用动。然后点击最下面的开始演习。
(把稳,我这768x1152的分辨率在实行的时候报错了,显示说 assert max(resolution) <= max_bucket_reso,然后我把Enable buckets的勾去掉了就能正常运行。大家如果也报错分辨率干系问题,建议利用512512或者512768的经典分辨率,相对不随意马虎出错。)
(6)等待演习结束
演习完成,接着可以去output文件夹找到干系的文件,sanshangyua-xxxx.safetensors便是我们的演习成果。
我分辨率比较大,演习了20轮,以是韶光比较长,花了五个多小时。
大家如果图片分辨率小一些比如512x512,20-30张图片,20轮,大概1小时旁边。如果显卡更好速率会更快。
9.演习测试
(1)把output文件夹中天生的几个safetensors文件,放到stable-diffusion-webui-old\extensions\sd-webui-additional-networks\models\lora文件夹里面。(把稳,须要提前下载安装sd-webui-additional-networks插件。)
(2)设置测试prompt参数
测试prompt这里有3个把稳点,
a)根本模型要利用你的演习模型,比如你用的sd1.5或chilloutmix系列,那么你测试画图时要用的根本模型末了也用sd1.5或者chilloutmix系列根本模型。
b)记得在prompt区域加上你的trigger word触发词,比如我的是sanshangyua。Prompt区域还要加一个人物本来没有的特色,比如白发。以便测试泛用性。
c)本身由于我演习集的图片是1:1.5的,因此出图比例我也写1:1.5的512x768
(泛用性指的是,你演习的lora模型能否和其他模型很好的结合和拓展,比如你用chilloutmix演习的,那么用ralistic version模型能否跑出好图。比如换衣服是否自然顺畅,比如是否能自然顺畅出全身照等(条件是你没有演习全身照)。)
(3)设置xyz参数
a) additional networks随便选一个lora,激活additional networks插件。
b)设置xyz参数
x轴设置为 addnet model 1,然后点击小黄条记本,自动引入所有lora文件名。
Y轴设置为 addnet weight1,然后输入0.6-1.
设置xy让系统自动用不同的lora分别以0.6-1的权重跑prompt指令。
c)等待xyz出结果
10.比拟结果,筛选表现好的lora进一步测试或回炉重造
(1)通过xyz比拟图,看哪一个演习结果表现最好,最像的同时泛化性最好。
如果没有则回去调度演习参数重新演习。如果调度演习参数没用的话大概率是演习集问题,重新网络整理裁剪演习集,并优化tag。
(2)如果有表现比较好的lora,则复制出来,放到stable-diffusion-webui/models/lora文件夹下面。随机跑几张图再测试一下,没问题就修正lora名称,删掉多余lora,方便后续利用。
(3)可选 如果有又像又不像的,可以把对应lora拉出来,再去重复演习一次,epoch设置5,每1 epoch保存一次。再优中选优。但是最好不要重复演习太多次,否则随意马虎过拟合,要么图像崩坏,要么泛化性非常差。
(4)记录演习参数,数据,测试数据,便于下一次迭代。
答疑:
1.之前都是推举用秋叶的演习包,现在怎么用星空的演习包?
秋叶的演习包我发布过线上线下版,因此这次换一个演习包,让大家多一个选择。(而且星空这个演习包实在底层是github上面一个很盛行的lora演习项目kohya_gui https://github.com/bmaltais/kohya_ss的汉化增强版)。
各lora演习包的用法实在差不太多,紧张参数也还是那几个。
其余,秋叶演习包提示triton报错不用管,正常,但是如果提示找不到其他包/模型,那么就须要点多几次install确保环境依赖安装完全。
2.本文的方法可以用于演习动漫人物吗?
可以。但演习动漫可以不须要这么多图片,有些演习参数也可以优化。可以参考我之前的lora篇教程。
3.演习模型对硬件有什么哀求
建议显存8G以上,低于8G随意马虎演习失落败。实在弗成可以用线上版演习。
末了提醒,演习自己的照片请把稳保管好演习成果,不要透露你的Lora,避免引来不必要的麻烦。演习他人照片尤其是商用请先得到授权,否则有侵权法律风险。
好了,大家都学会了吗?学会了记得点赞关注在看三连哦~
如果不会,有问题也可以私。
那么本日的课,先上到这里吧,下次再见,下课!
<End>
历史教程文集,请查看AI绘画教章合集
关注我们,更多有用又有趣的AI绘图技能知识持续更新中~