news 2026/5/11 7:40:50

Kohya Trainer 数据预处理全流程:从图像收集到标签生成

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Kohya Trainer 数据预处理全流程:从图像收集到标签生成

Kohya Trainer 数据预处理全流程:从图像收集到标签生成

【免费下载链接】kohya-trainerAdapted from https://note.com/kohya_ss/n/nbf7ce8d80f29 for easier cloning项目地址: https://gitcode.com/gh_mirrors/ko/kohya-trainer

Kohya Trainer 是一款强大的 AI 绘图模型训练工具,数据预处理是模型训练中至关重要的一步,直接影响模型的学习效果。本文将详细介绍使用 Kohya Trainer 进行数据预处理的完整流程,帮助新手用户轻松掌握从图像收集到标签生成的每一个环节。

一、图像收集与整理

1.1 图像来源

图像可以从各种渠道获取,例如个人拍摄、公开数据集下载等。建议收集与训练目标相关的高质量图像,数量越多越好,通常至少需要几十张以上才能获得较好的训练效果。

1.2 图像整理

将收集到的图像统一存放在一个目录下,例如train_data。如果有多个类别或不同风格的图像,可以在该目录下创建子文件夹进行分类存放。Kohya Trainer 支持递归搜索子文件夹中的图像,只需在后续命令中添加--recursive参数即可。

二、图像标注工具选择

Kohya Trainer 提供了两种主要的图像标注工具,分别是make_captions.pytag_images_by_wd14_tagger.py,用户可以根据需求选择合适的工具。

2.1 BLIP 自动标题生成(make_captions.py)

finetune/make_captions.py使用 BLIP 模型为图像生成描述性标题。它基于深度学习技术,能够理解图像内容并生成自然语言描述。适用于需要为图像添加详细描述性文本的场景。

2.2 WD14 标签生成(tag_images_by_wd14_tagger.py)

finetune/tag_images_by_wd14_tagger.py使用 WD14 模型为图像生成标签。它可以识别图像中的各种元素,如人物、物体、场景等,并生成相应的标签。适用于需要为图像添加关键词标签的场景,便于模型学习特定的视觉特征。

三、使用 BLIP 生成图像标题

3.1 基本命令格式

python finetune/make_captions.py <train_data_dir> [--options]

3.2 常用参数说明

  • train_data_dir:存放训练图像的目录。
  • --caption_weights:BLIP 模型权重文件路径,默认为从网络下载。
  • --batch_size:批处理大小,根据 GPU 内存情况调整,默认为 1。
  • --beam_search:使用 beam search 生成标题,默认为 Nucleus sampling。
  • --max_length:标题的最大长度,默认为 75。
  • --min_length:标题的最小长度,默认为 5。
  • --recursive:递归搜索子文件夹中的图像。

3.3 示例命令

python finetune/make_captions.py ./train_data --batch_size 4 --beam_search --max_length 100 --recursive

该命令将对./train_data目录及其子目录中的图像使用 BLIP 模型生成标题,批处理大小为 4,使用 beam search 方法,标题最大长度为 100。生成的标题将保存为与图像同名的.caption文件。

四、使用 WD14 生成图像标签

4.1 基本命令格式

python finetune/tag_images_by_wd14_tagger.py <train_data_dir> [--options]

4.2 常用参数说明

  • train_data_dir:存放训练图像的目录。
  • --repo_id:Hugging Face 上 WD14 模型的仓库 ID,默认为SmilingWolf/wd-v1-4-convnext-tagger-v2
  • --batch_size:批处理大小,默认为 1。
  • --general_threshold:通用标签的置信度阈值,默认为 0.35。
  • --character_threshold:人物标签的置信度阈值,默认为 0.35。
  • --caption_extension:标签文件的扩展名,默认为.txt
  • --recursive:递归搜索子文件夹中的图像。

4.3 示例命令

python finetune/tag_images_by_wd14_tagger.py ./train_data --batch_size 8 --general_threshold 0.5 --character_threshold 0.6 --recursive

该命令将对./train_data目录及其子目录中的图像使用 WD14 模型生成标签,批处理大小为 8,通用标签置信度阈值为 0.5,人物标签置信度阈值为 0.6。生成的标签将保存为与图像同名的.txt文件。

五、图像预处理与潜在空间转换(prepare_buckets_latents.py)

finetune/prepare_buckets_latents.py用于对图像进行预处理,包括调整大小、裁剪和转换为潜在空间表示,以提高模型训练效率。

5.1 基本命令格式

python finetune/prepare_buckets_latents.py <train_data_dir> <in_json> <out_json> <model_name_or_path> [--options]

5.2 常用参数说明

  • train_data_dir:存放训练图像的目录。
  • in_json:输入的元数据文件路径。
  • out_json:输出的元数据文件路径。
  • model_name_or_path:用于生成潜在空间表示的模型名称或路径。
  • --batch_size:批处理大小,默认为 1。
  • --max_resolution:训练时的最大图像分辨率,格式为 "width,height",默认为 "512,512"。
  • --bucket_reso_steps:bucket 分辨率的步长,建议为 8 的倍数,默认为 64。
  • --flip_aug:是否对图像进行左右翻转增强,生成翻转图像的潜在空间表示。
  • --skip_existing:如果潜在空间文件已存在,则跳过处理。
  • --recursive:递归搜索子文件夹中的图像。

5.3 示例命令

python finetune/prepare_buckets_latents.py ./train_data metadata.json new_metadata.json stabilityai/stable-diffusion-v1-5 --batch_size 4 --max_resolution 768,768 --flip_aug --recursive

该命令将对./train_data目录及其子目录中的图像进行预处理,使用stabilityai/stable-diffusion-v1-5模型生成潜在空间表示,批处理大小为 4,最大分辨率为 768x768,并进行左右翻转增强。处理后的元数据将保存到new_metadata.json文件中,潜在空间表示以.npz文件形式保存。

六、数据预处理完整流程总结

  1. 图像收集与整理:将图像存放在指定目录,可创建子文件夹分类。
  2. 选择标注工具:根据需求选择make_captions.py生成描述性标题或tag_images_by_wd14_tagger.py生成关键词标签。
  3. 生成标注文件:运行相应的标注工具命令,为图像生成标注文件。
  4. 图像预处理与潜在空间转换:使用prepare_buckets_latents.py对图像进行预处理,生成潜在空间表示和更新元数据。

通过以上步骤,即可完成 Kohya Trainer 的数据预处理工作,为后续的模型训练做好准备。合理的数据预处理能够有效提高模型的训练效果和生成质量,建议用户在进行训练前仔细处理数据。

七、常见问题与解决方法

7.1 图像无法加载或处理错误

检查图像文件是否损坏,或格式是否不受支持。可以尝试使用图像查看器打开图像,确认图像是否正常。对于损坏的图像,建议删除或替换。

7.2 标注生成速度慢

可以适当增大--batch_size参数,利用 GPU 并行处理能力提高速度。但需注意不要超过 GPU 内存限制。

7.3 潜在空间转换时内存不足

减小--batch_size参数,或降低--max_resolution参数,以减少内存占用。如果条件允许,也可以使用内存更大的 GPU。

希望本文能够帮助新手用户顺利完成 Kohya Trainer 的数据预处理工作,祝大家训练出满意的 AI 绘图模型! 🚀

【免费下载链接】kohya-trainerAdapted from https://note.com/kohya_ss/n/nbf7ce8d80f29 for easier cloning项目地址: https://gitcode.com/gh_mirrors/ko/kohya-trainer

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 7:31:29

革命性云原生运维平台SREWorks:一站式解决企业运维难题

革命性云原生运维平台SREWorks&#xff1a;一站式解决企业运维难题 【免费下载链接】SREWorks Cloud Native DataOps & AIOps Platform | 云原生数智运维平台 项目地址: https://gitcode.com/gh_mirrors/sr/SREWorks SREWorks是一款功能强大的云原生数智运维平台&a…

作者头像 李华
网站建设 2026/5/11 7:29:47

华为CANN异或求和算子

ReduceXorSum 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.c…

作者头像 李华
网站建设 2026/5/11 7:26:40

CANN/asc-devkit make_int2向量构造函数

make_int2 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.com/…

作者头像 李华
网站建设 2026/5/11 7:21:44

SpringBoot的服装商城系统毕设源码

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在构建一个基于Spring Boot与Vue框架的服装商城系统以解决传统电商平台在用户体验优化与业务逻辑实现方面的局限性。当前电子商务领域面临商品信息展示不…

作者头像 李华
网站建设 2026/5/11 7:21:18

3分钟掌握百度网盘提取码智能获取技巧:baidupankey工具全解析

3分钟掌握百度网盘提取码智能获取技巧&#xff1a;baidupankey工具全解析 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘分享资源的提取码而烦恼吗&#xff1f;每次遇到需要密码的分享链接&#xff0c;你是否也…

作者头像 李华
网站建设 2026/5/11 7:20:06

Python日志系统设计:从基础到企业级实践

Python日志系统设计&#xff1a;从基础到企业级实践 引言 日志系统是后端应用的重要组成部分&#xff0c;它记录系统运行状态、帮助排查问题、追踪用户行为。Python的logging模块提供了强大的日志功能&#xff0c;但在实际应用中需要合理设计才能发挥最大价值。 本文将深入探讨…

作者头像 李华