作者回复: 你好。针对问题1,以人物LoRA为例,我的经验是以半身照为主,可以混合一些全身照和面部特写,不用混合很多。图片的数量越多越好,推荐不少于10张。针对问题2,训练步数可以根据效果来定,一般而言,300-500步效果会比较好,训练步数过多模型会出现过拟合,多样性能力会变差。针对问题3,咱们代码中有可视化看每一轮次的训练效果,可以挑选一个效果好的模型。一般来说,选择300-500步训练后的模型,不要选择步数太少的模型。针对问题4,diffusers的代码中可调整的参数非常少,数据增广较少、text_encoder学习率等指标设置也不够灵活等。对于开发者而言,可以以diffusers代码仓为基础,逐渐把这些特性加进去,模型的效果会有提升。希望能帮助到你。
作者回复: 你好。这是个很有意思的想法,更直观的,我们可以训练两个LoRA,每个LoRA影响不同的UNet模型Attention模块,这样融合的时候便不会在权重上产生叠加效应。但有一个问题,使用这种方式,即使我们能够将不同的LoRA权重解耦开,最终得到的效果大概率还是两个LoRA的中间态,因为这些LoRA都对图像生成的过程都产生了影响,这些影响是叠加还是冲突无法预测。
作者回复: 你好,感谢你的反馈。训练用时因计算资源而异,如果需要下载模型还会受网速影响,应该加一些说明。我们会根据反馈进行调整。
作者回复: 你好!使用5-6张图是可以训练出一个风格化LoRA模型的,需要保证这些图片的风格一致。我们可以在MidLibrary上获取很多风格图片:https://midlibrary.io/styles。
作者回复: 你好,将基础模型更换为SDXL需要在代码中做出一定改动,可以参考这个Colab:https://github.com/Linaqruf/kohya-trainer/blob/main/kohya-LoRA-trainer-XL.ipynb
作者回复: 你好。针对第一个问题,我的看法是精细化打标不是很有必要,只需要保证发型、眼镜、服饰颜色这些最基本的信息被涵盖即可,很多时候训练人像LoRA的Prompt甚至是“A photo of a <sks> man”这种粗糙的描述。针对第二个问题,把男性图片标注成 1girl是由于DeepDanbooru的分类精度不够导致的,Midjourney有一个描述功能,写出的Prompt比较准确、信息也比较丰富,可以试试。也可以试试Qwen-VL这种多模态大模型的Caption效果,应该也不错。希望能帮助到你。
作者回复: 你好。Colab的代码在加餐篇中我们计划继续深扒。当前如果想理解lora的训练细节,直接看这个脚本就可以:https://github.com/huggingface/diffusers/blob/main/examples/text_to_image/train_text_to_image_lora.py。我们用的Colab在这份代码的基础上,增加了BLIP、数据增广的功能,底层逻辑是一样的。希望能帮助到你,欢迎多交流讨论。
作者回复: 你好,make_captions这个脚本可以看这个链接:https://github.com/Linaqruf/kohya-trainer/blob/main/finetune/make_captions.py。这个脚本完成两件事情:下载BLIP模型,为每张图生成prompt。
作者回复: 你好,additional network这个插件需要单独安装,可以按照这个说明来安装:https://github.com/kohya-ss/sd-webui-additional-networks。
作者回复: 你好,应用商店里有不少AI绘画APP,可以检索一下。当前模型推理需要较多算力,所以主要还是通过调用各种云服务来完成绘画过程。希望能帮助到你。