欢迎来到觉悟之坡AI绘画传授教化系列之第33篇。

(三上Yua老师平行天下作品-by Stable diffusion)

(三上Yua老师平行天下作品-by Stable diffusion)

之前发布过2篇动漫炼丹教程,利用的都是秋叶lora script 演习包。
紧张演习二次元动漫人物,还是蛮好用的。

AI绘画SD三次元人物模型演习炼丹教程

但在实际上,我们除了演习二次元人物之外,也常常要演习三次元人物。

比如福利姬老师可以演习自己然后穿上各种美美的衣服来拍照,减少自己的日常事情量。

我们也可以演习模特人物之后,得到自己的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绘图技能知识持续更新中~