TypeError: ‘>’ not supported between instances of ‘str’ and ‘int’

用户使用 Kohya SS 的 Full Fine-Tune(全参微调)功能启动训练时触发,LoRA 和 DreamBooth 模式在此类情况下通常不报错。

TypeError: '>' not supported between instances of 'str' and 'int'

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 版本
  • 确认训练配置加载路径(是否从文件加载了未正确类型转换的配置)

解决步骤

  1. 可优先尝试:更新 Kohya SS 到最新版本,此 Issue 已在后续版本中修复。
  2. 如果无法更新,可手动修改 finetune_gui.py 第 880 行附近的代码:在 if lr_warmup > 0: 之前添加类型转换 lr_warmup = float(lr_warmup)int(lr_warmup)
  3. 同时检查 lr_warmup_steps 变量的类似比较和除法操作,确保所有来自 GUI 的学习率预热相关输入都先转换为数值类型。
  4. 检查 Fine-Tune 训练 UI 构建代码中学习率预热百分比控制组件的默认值是否被错误设置为字符串类型。

验证方法

重新启动 Full Fine-Tune 训练任务,确认不再抛出 TypeError: '>' not supported between instances of 'str' and 'int' 错误,并且训练正常开始。

参考来源

bmaltais/kohya_ss #3455

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 12314

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注