AI绘画教程:如何用Stable Diffusion训练出自己专属的人像模型?

新闻 2023-04-21
439

在Stable Diffusion,有好几种模型训练方式,前面已经介绍了效果最佳的dream booth,另外还有Textual Inversion (Embedding)、 Hypernetwork和Lora几种方式。今天来介绍下Textual Inversion (Embedding)的模型训练方法。

相对于dream booth动辄几个G的体积,Textual Inversion的体积则非常小。dream booth需要在专门的dream booth训练colab中跑程序,但是Textual Inversion在Stable Diffusion自带的web ui界面中就可以使用。

首先,还是要准备几十张照片,然后可以在birme网站调整成512*512的尺寸。

打开Stable Diffusion界面,点击训练→建立嵌入,填入这个模型的名称、初始化文字(调用模型时用的词语),每个标记的向量数(6-10之间都可以)

然后点击:建立嵌入。创建了一个.pt格式的文件。

然后点击:图像预处理,这一步主要是给图片打标签,

AI绘画教程:如何用Stable Diffusion训练出自己专属的人像模型?

填入来源目录(就是第一步已经处理好的图片,保存到谷歌drive里面),如果在谷歌硬盘里面建立的文件夹是xixiprincess_training,那么来源目录就填/content/drive/Mydrive/xixiprincess_training

目标目录,就是打完标签的图片要保存的文件目录,可以在谷歌drive里面新建一个文件夹xixiprincess_training_input。

然后勾选底部的:建立镜像副本、使用deepbooru生成说明文字。点击:预处理,很快图片打标签就完成了。可以看到xixiprincess_training_input文件夹里面多了很多和图片同名的txt文档,里面就是刚才打的标签,就是对于图片的文字描述。

AI绘画教程:如何用Stable Diffusion训练出自己专属的人像模型?

接下里,点击训练,选择刚才建立的xixiprincess_training文件,如果看不到,点击右边的蓝色小按钮,刷新一下,就可以看到了。

AI绘画教程:如何用Stable Diffusion训练出自己专属的人像模型?

这里资料集目录填入刚才创建的xixiprincess_training_input, 提示模板选择style_filewords.txt,其他不用动,然后选择训练嵌入,就可以了。

AI绘画教程:如何用Stable Diffusion训练出自己专属的人像模型?

每隔500步,这里会展示出训练的模型效果预览图。

AI绘画教程:如何用Stable Diffusion训练出自己专属的人像模型?

如果觉得满意,就可以点击中止,来结束训练。不满意,就让训练过程继续跑。一般要到1万步左右,可能才会出现比较不错的效果,有些可能要到3万步。1万步左右,通常耗时1个半小时左右。

结束训练后,可以在stable-diffusion-webui/models/embeddings里面可以找到已经训练好的模型:xixiprincess_training.pt,仅有4K大小。

模型训练好后,怎么使用呢?

进入到stable diffusion的 WebUI界面,点选右上角“产生”按钮下面的Show Extra Networks按钮,然后会出现文本反转textual inversion、超网络、lora这些按钮,点击右边的蓝色按钮,刷新一下,就可以看到xixiprincess_training的textual inversion模型了。

AI绘画教程:如何用Stable Diffusion训练出自己专属的人像模型?

然后在提示词输入框里面输入提示词,比如:a girl reading book in library,然后点击xixiprincess_training模型,提示词里面自动添加xixiprincess,这就会调用刚才生成的模型,然后点击生成图片的按钮,生成效果如下。显然,刚才训练的效果不是很好,后续还需要进行调整。

AI绘画教程:如何用Stable Diffusion训练出自己专属的人像模型?

可见,Textual Inversion (Embedding)的优势在于模型文件非常小,操作也是比较简单的,但是效果明显不如dream booth,而且训练耗时时间较长。综合起来看,训练Lora模型对于大部分人来说可能更好。

相关文章