AI绘图|如何使用Stable Diffusion训练自己的LoRA模型实战(二)

SD指南2年前 (2023)发布 一起用AI
728 0 0

AI绘图|如何使用Stable Diffusion训练自己的LoRA模型实战(一)

本文要介绍的LoRA训练法,特别适用于下列对象:

nVidia显卡不够高级,跑不动训练程序根本不是nVidia的使用者,Stable Diffusion的训练程序不支持不想花钱花电力花显卡时间训练

这个方法主要是借用Google Colab的威力,直接靠Colab强大GPU与够大的显存,能够非常充足地训练出品质非常优异的LoRA模型。

第一步,上传训练图:

首先,你必须登录Google,并进入我的云端硬盘(请使用魔法进入):

然后,创建一个多层的文件夹,根据你的LoRA的名称,格式是:

我的云端硬盘-> lora_training -> datasets -> <项目名称>

以我为例,我创建的路径为:

我的云端硬盘-> lora_training -> datasets -> Vallaria

之后,将AI绘图|如何使用Stable Diffusion训练自己的LoRA模型实战(一)制作好的训练图以及提示词文档全部上传到这个目录里面。

AI绘图|如何使用Stable Diffusion训练自己的LoRA模型实战(二)

第二步,使用Colab训练:

训练素材准备好之后,就可以打开Colab页面来训练了。

首先,登入这个页面:

colab.research.google.com/github/hollowstrawberry/kohya-colab/blob/main/Lora_Trainer.ipynb

里面有几个栏目要填写,需要修改的有这几个:

project_name:等同于你放在Google云端硬盘的目录名,以我为例这里是Vallaria

training_model:有两个原始模型可以挑选,如果要用在动画图片上可用Anime,否则选Photorealism。我自己是用Photorealism训练,用在动画类的模型上也没啥问题。

num_repeats:每张图被训练的次数,这边我选15training_unit:我选择Epochshow_many:我选择30train_batch_size:同时训练的图的数量,通常是2其他参数保持不变即可。

在这边你要依照你的训练图的数量来决定num_repeats的数量,有一个公式是:

训练图总数X 每张训练步数X Epochs数量/ 同时训练的图的数量= 总训练数。

以我的20张训练图为例:

20张X 15步X 30个Epochs / 2 = 4500。

这个数字要超过4000,这样LoRA的品质才会好,而通常低于6000,免得Colab的每日免费时长被用完。

当训练数量低于2000,出来的LoRA非常难看,角色的特征能被抓出来,但是成品的脸型边缘会一团模糊,更细部的特征例如雀斑、肤色会大面积不稳定在脸上扩散。当训练数量到达3000以后,大部分的品质会趋于稳定,但是眼睛的特征会过于模糊,使得人物的神色委靡。直到了4000以上的LoRA才能拿来用。

当一切都设定好之后,就可以按下左边的开始图示跑训练了!

刚开始跑的时候,程序会要求你授权,让它能存取你的Google云端硬盘,请记得要允许。

如果一切正常的话,你就会在这区块的最下方看到系统跑训练的log了!

AI绘图|如何使用Stable Diffusion训练自己的LoRA模型实战(二)

通常需要十到二十分钟才能跑完。

当训练完成后,模型文件就在你的云端硬盘的目录下:

我的云端硬盘-> lora_training -> output -> <项目名称>

你会在这个目录上看到不止一个safetensors文件,数字最大的那个就是最后训练的成果LoRA文件了。

就这样,你已经轻松训练出你自己的LoRA了!

恭喜你,完成了!

是时候把你的LoRA模型放到stable-diffusion-webui的models/Lora目录里面,然后重启整个webui,就能看见它出现在Lora标签下了,马上用它来绘出你想要的角色图,验证并同时犒赏犒赏自己吧!

不论是哪种发型跟服装,你都能清楚看见角色的特征是一致的。

© 版权声明

相关文章