AI教程|Stable Diffusion入门:模型训练[疯语咒AI]

AI教程|Stable Diffusion入门:模型训练[疯语咒AI]

一、为什么要训练模型?

训练自己的模型可以在现有模型的基础上,让AI懂得如何更精确生成/生成特定的风格、概念、角色、姿势、对象。

举例来说,如果喂给AI十几张我精挑细选的「Hara老师绘制的、不同角度、FGO的斯卡萨哈」做训练,那么就能让AI更懂得如何生成斯卡萨哈的脸部,风格也会比较固定。

以下是一个具体例子,通过使用自行训练的HyperNetwork模型,便改善单靠Anything模型无法生成出Hara老师画风的缺点。在不使用HyperNetwork的情况下,风格永远是左边那样;一使用HyperNetwork,右边的风格就能轻松生成出来了。

AI教程|Stable Diffusion入门:模型训练[疯语咒AI]

Anything 没训练 Anything + HyperNetwork 有训练

训练模型是复杂的议题,基于哪个现有模型,以及喂给AI学习的图片品质,还有训练时的参数,都会影响模型训练结果。

Embedding、HyperNetwork、LoRA都是”小模型”,相对于网络动辄好几GB的checkpoint”大模型”而言,这些小模型训练时间短,文件约几mb~几百mb而已,训练成本不高。主要是用于生成特定人物/对象/画风,并且训练的模型可以多个混用。

如果硬件条件许可的话,搜集大量图片训练特定领域的checkpoint大模型,再上传到HuggingFace造福他人也是不错的选项,只不过此任务过于庞大。要知道Stable Diffusion 1.5版的模型可是输入了23亿张图片训练出来的!网络上其他人训练的模型至少也准备了几万张图片。因此要生成特定的人物/对象/画风,训练小模型对一般人来说比较划算。

各个模型的原理差异请参考下图。

AI教程|Stable Diffusion入门:模型训练[疯语咒AI]

就训练时间与实用度而言,目前排序是: LoRA > HyperNetwork > Embedding

如果你有Nvidia RTX3060以上的GPU,那就想训练多久就训练多久。训练数据不到50张图片的小模型训练时间约只要1~3个小时。

二、准备训练用的图片

训练用的图片最少最少要准备10张。建议30-50张高质量的图片。因为训练的是单一人物且风格固定,图片不宜有复杂背景以及其他无关人物。

这里我准备了33张Hara绘制的斯卡萨哈

三、裁切图片

下载图片后,要将训练图片裁切成512×512像素。你可以选择用SD WebUI自动裁切,或是手动裁切。

1、自动裁切

裁切图片不会用到显卡计算。

第一步:将要裁切的图片放到同一个目录下,例如/home/user/桌面/input

第二步:打开SD WebUI,进到Train → Preprocess images页面。

AI教程|Stable Diffusion入门:模型训练[疯语咒AI]

第三步:第一个字段Source directory填写原始图片的路径。

第四步:第二个字段Destination directory填写输出路径,例如/home/user/桌面/cropped

第五步:Width和Height设置为512×512。

第六步:点击Preprocess ,图片即会自动裁切。在那之后原始图片就可以删除,只留下裁切后的图片。

2、手动裁切

手动把图片转成512×512理由是避免重要的部分被裁掉。
第一步:安装修图软件 GIMP,点击文件→添加512×512像素的项目。

AI教程|Stable Diffusion入门:模型训练[疯语咒AI]

第二步:点油漆桶将其漆成白色。

AI教程|Stable Diffusion入门:模型训练[疯语咒AI]

第三步:将图片拖曳进画面,成为新的图层。

AI教程|Stable Diffusion入门:模型训练[疯语咒AI]

第四步:点击工具→变形工具→缩放,缩放图片使其符合目前画布大小,再按Enter。

AI教程|Stable Diffusion入门:模型训练[疯语咒AI]

第五步:点击文件→Export,导出成png。

AI教程|Stable Diffusion入门:模型训练[疯语咒AI]

第六步:为加快后面图片的处理速度,按右下角删除目前图层,再拖新的图片进来,重复操作。

AI教程|Stable Diffusion入门:模型训练[疯语咒AI]

第七步:将33张Hara绘制的斯卡萨哈裁切后,统一放到名为raw的目录。

AI教程|Stable Diffusion入门:模型训练[疯语咒AI]

三、先给图片上提示词

接着要给图片预先上提示词,这样AI才知道要学习哪些提示词。

第一步:启动SD WebUI,进入Train页面。

第二步:进入Preprocess页面,Source输入裁切图片的路径,Destination填处理后图片输出的路径。

AI教程|Stable Diffusion入门:模型训练[疯语咒AI]

第三步:接着勾选Create Flipped Copies,创建翻转图片提升训练数量。

然后用Stable Diffusion训练真实图片的勾选Use BLIP for caption;训练动漫人物改勾选Use DeepBooru for caption

第四步:点击Preprocess,约几分钟后便会处理完成。输出的目录里面会含有每张图片对应的提示词txt档。

AI教程|Stable Diffusion入门:模型训练[疯语咒AI]

第五步:点击打开txt档,将你觉得无关的特征都删除,例如2girls这类太笼统的提示词。

至此训练数据准备完成。

(0)
上一篇 2023年9月20日 下午8:02
下一篇 2023年9月21日 上午8:34

更多相关内容

开始你的AI探索之旅,开启无限可能,学习AI道路上我们一起前进。