BooruDatasetTagManager中保留WD14标签下划线的技术方案
BooruDatasetTagManager 项目地址: https://gitcode.com/gh_mirrors/bo/BooruDatasetTagManager
在图像标签管理工具BooruDatasetTagManager中,用户经常需要处理来自WD14 Tagger生成的标签数据。WD14 Tagger生成的标签默认会使用下划线(_)连接词组(如"long_hair"),但在某些应用场景中,用户希望保留这些原始的下划线格式而非自动转换为空格。
问题背景
WD14 Tagger作为流行的图像标签生成工具,其输出结果中的多词标签通常使用下划线连接。当这些标签被导入BooruDatasetTagManager时,默认情况下系统会自动将下划线转换为空格。这种转换虽然符合某些平台的标签规范,但对于需要保持原始格式的用户来说会造成不便。
技术解决方案
经过技术验证,发现BooruDatasetTagManager实际上已经内置了保留下划线的功能,只是默认未启用。用户可以通过以下两种方式实现需求:
方法一:修改程序参数(不推荐)
理论上可以通过修改源代码中的interrogator_rpc参数,添加"replace_underscore"为false的配置。但实际操作中发现这种方法可能不会立即生效,因为还需要考虑其他相关设置的影响。
方法二:调整软件设置(推荐)
更简单有效的解决方案是:
- 打开BooruDatasetTagManager的设置界面
- 找到"Fix tags when loading"选项并取消勾选
- 如需进一步格式化标签(如去除逗号等分隔符),可在相关字段中进行设置
技术原理
该问题的本质在于标签预处理流程的控制。BooruDatasetTagManager在加载标签时会执行一系列规范化操作,包括:
- 下划线转换(默认启用)
- 特殊字符处理
- 标签格式校验
通过禁用"Fix tags when loading"选项,实际上跳过了整个预处理流程,使标签保持原始输入状态。这种方法不仅解决了下划线问题,同时也保留了标签的其他原始特征。
最佳实践建议
- 对于需要严格保持WD14 Tagger原始输出的工作流,建议始终禁用标签修复功能
- 如果同时需要清理其他特殊字符,可以考虑使用正则表达式进行后处理
- 在团队协作环境中,应统一相关设置以避免标签格式不一致的问题
- 导出标签时,可根据目标平台的规范要求选择是否保留下划线
通过理解这一机制,用户可以更灵活地控制标签格式,满足不同应用场景的需求,同时保持工作流程的高效性。
BooruDatasetTagManager 项目地址: https://gitcode.com/gh_mirrors/bo/BooruDatasetTagManager
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考