
TypeError: ‘>’ not supported between instances of ‘str’ and ‘int’
快速结论:此报错通常在使用 Kohya SS 进行 Full Fine-Tune 训练时触发,优先排查 GUI 中学习率预热(lr_warmup)相关输入是否为字符串类型而非整数。
问题场景
用户使用 Kohya SS 的 Full Fine-Tune(全参微调)功能启动训练时触发,LoRA 和 DreamBooth 模式在此类情况下通常不报错。
报错原文
File "/home/ubuntu/kohya_ss/kohya_gui/finetune_gui.py", line 880, in train_model
if lr_warmup > 0:
TypeError: '>' not supported between instances of 'str' and 'int'
原因分析
可能原因:GUI 中学习率预热百分比的输入值以字符串类型传入 lr_warmup 变量(例如 Fine-Tune 选项卡默认使用了字符串类型的默认值),导致后续与整数 0 比较时触发类型错误。LoRA 和 DreamBooth 通常使用整数默认值从而避免此问题,但同样存在潜在风险。
环境排查
- 确认 Kohya SS 版本是否为最新(Issue 在 2026-07 已关闭,建议使用该日期后的版本)
- 检查 Python 版本(报错中为 Python 3.10)
- 检查 Gradio 版本
- 确认训练配置加载路径(是否从文件加载了未正确类型转换的配置)
解决步骤
- 可优先尝试:更新 Kohya SS 到最新版本,此 Issue 已在后续版本中修复。
- 如果无法更新,可手动修改
finetune_gui.py第 880 行附近的代码:在if lr_warmup > 0:之前添加类型转换lr_warmup = float(lr_warmup)或int(lr_warmup)。 - 同时检查
lr_warmup_steps变量的类似比较和除法操作,确保所有来自 GUI 的学习率预热相关输入都先转换为数值类型。 - 检查 Fine-Tune 训练 UI 构建代码中学习率预热百分比控制组件的默认值是否被错误设置为字符串类型。
验证方法
重新启动 Full Fine-Tune 训练任务,确认不再抛出 TypeError: '>' not supported between instances of 'str' and 'int' 错误,并且训练正常开始。



