在 AI 图像训练打标时,让部分标签权重更大的方法如下:
此外,在 Stable Diffusion 训练数据集制作中还需注意:
大家注意,一般我们会将手动补充的特殊tag放在第一位,因为和caption标签不同,tags标签是有顺序的,最开始的tag权重最大,越靠后的tag权重越小。到这里,Rocky已经详细讲解了在Stable Diffusion训练前,如何对数据集进行caption标注,tag标注以及补充一些关键标注的完整步骤与流程,在数据标注完毕后,接下来我们就要进入训练数据预处理的阶段了。(4)训练数据预处理首先,我们需要对刚才生成的后缀为.caption和.txt的标注文件进行整合,存储成一个json格式的文件,方便后续SD模型训练时调取训练数据与标注。我们需要进入SD-Train项目的finetune文件夹中,运行merge_all_to_metadata.py脚本即可:如下图所示,我们依旧使用之前的美图女片作为例子,运行完merge_all_to_metadata.py脚本后,我们在数据集路径中得到一个meta_clean.json文件,打开可以看到图片名称对应的tag和caption标注都封装在了文件中,让人一目了然,非常清晰。SD模型训练数据预处理流程:meta_clean.json中封装了图片名称与对应的tag和caption标注在整理好标注文件的基础上,我们接下来需要对数据进行分桶与保存Latent特征,并在meta_clean.json的基础上,将图片的分辨率信息也存储成json格式,并保存一个新的meta_lat.json文件。我们需要进入SD-Train项目的finetune文件夹中,运行prepare_buckets_latents.py脚本即可:
此处在BooruDatasetTagManager中采用方法二:删除部分特征标签All tags:删除不该出现的错误识别的自动标签Image tags:删除作为特定角色的自带特征的标签,将特征与LoRA做绑定完成所有优化删除后,需要保存当前的设置点击左上角菜单File>Save all changes首先我们先明确我们的需求,我需要lora生成图片都带有这样的白边,而且是我的关键词lele输入之后,他就会带上白边。那么我们需要这样做:我们将有白边的图片进行标签tag检测后,会得到“outline”或者“white outline”的关键词我们将标签tag中这样的关键词删掉那么在训练的时候,ai会检测到每张图都有“白边”,和关键词lele,那么它就会把lele和“白边”进行关联训练出来的lora只要输入lele,那么图片就可以出现白边
这里需要注意的是,调用Waifu Diffusion v1.4模型需要安装特定版本(2.10.0)的Tensorflow库,不然运行时会报“DNN library is not found“错误。我们只需要在命令行输入以下命令即可完成Tensorflow库的版本检查与安装适配:完成上述的环境配置后,我们依然进入到SD-Train/finetune/路径下,运行以下代码即可获得tag自动标注:从上面的代码可以看到,我们第一个传入的参数是训练集的路径。然后Rocky再详细介绍一下传入Waifu Diffusion v1.4自动标注的其他主要参数:--batch_size:表示每次传入Waifu Diffusion v1.4模型进行前向处理的数据数量。--model_dir:表示加载的本地Waifu Diffusion v1.4模型路径。--remove_underscore:如果开启,会将输出tag关键词中的下划线替换为空格(long_hair->long hair)。--general_threshold:设置常规tag关键词的筛选置信度,比如1girl、solo、long_hair、1boy、smile、looking at viewer、blue eyes、hat、full body、dress等约7000个基础概念标签。--character_threshold:设置特定人物特征tag关键词的筛选置信度,比如初音未来(hatsune miku)、羽衣啦啦(agoromo lala)、博麗靈夢(hakurei reimu)等约2100个特定人物特征标签。--caption_extension:设置tag关键词标签的扩展名,一般为".txt"即可。-max_data_loader_n_workers:设置大于等于2,加速数据处理。