ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Kohya_SS学习率自动填充异常?3步快速定位并修复的完整指南

Kohya_SS学习率自动填充异常?3步快速定位并修复的完整指南 Kohya_SS学习率自动填充异常3步快速定位并修复的完整指南【免费下载链接】kohya_ss项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss用 Kohya_SS 训练 LoRA 时点「加载预设」后学习率输入框要么空着、要么还是旧值是不是让你怀疑人生不解决它要么只能盲填数值、训练效果打折要么每次开新任务都要手工抄一遍参数。这篇文章带你从界面现象一路追到配置文件把 Kohya_SS 学习率自动填充的问题彻底搞清楚。先看你卡在哪学习率自动填充的三类典型现象Kohya_SS 的学习率输入框Learning rate / Learning rate TE初值来自两个地方启动时读取的config.toml以及你手动加载的预设 JSON。GUI 控件初始化逻辑在 kohya_gui/class_basic_training.py预设加载逻辑在 kohya_gui/class_configuration_file.py。按「现象 → 指向 → 检查位置」对号入座现象指向原因检查位置所有输入框都是同一默认值如 1e-6不随预设变化config.toml未创建或[basic]段缺learning_rate项根目录 config example.toml 复制为config.toml并检查选了预设、学习率却不更新只改了下拉框没点加载按钮或config_dir指向了空目录GUI 顶部「Load/Save Config file」下拉框旁的↩️按钮config.toml的[configuration] config_dir预设列表下拉是空的预设目录里没有.json文件或路径含空格被截断presets/ 下的lora/、finetune/子目录勾选/取消 SDXL 后 TE 学习率框消失或错位这是正常行为见下文说明kohya_gui/class_basic_training.py 中的update_learning_rate_te保存配置后重开界面学习率丢失保存按钮没点或保存到了别的目录config.toml的[configuration] config_dir其中第 4 行新手最容易误判LoRA 模式只有一个 Learning rate 框FineTune / DreamBooth 模式会多出 TE文本编码器学习率框而 SDXL 模型的文本编码器是 TE1/TE2 两个勾选 SDXL 后原来的 TE 框会被隐藏、换成 TE1/TE2。所以「切换模型类型后学习率框变了」本身不是 bug——框换了、值没跟上才是问题。修复路径按依赖顺序三步走第一步先把 config.toml 落地一切默认值的来源做什么把根目录的 config example.toml 复制一份改名为config.toml文件名必须精确GUI 默认只读这个路径确认里面[basic]段有这几行learning_rate 0.0001Unet 学习率learning_rate_te 0.0001TE 学习率learning_rate_te1/learning_rate_te2SDXL 的 TE1/TE2[configuration] config_dir ./presets预设的加载/保存目录为什么GUI 启动时每个学习率框的初值都是config.get(basic.learning_rate, 默认值)——配置里没有这一项框里就是你看到的写死默认值加载预设前它不会变。做完后应该看到重新打开 GUI学习率框显示config.toml里的数值而不是千篇一律的 1e-6。第二步确认预设文件在位并真正触发加载做什么进入 presets/确认lora/、finetune/、dreambooth/子目录里.json文件齐全比如presets/lora/SDXL - LoRA AI_characters standard v1.0.json里就有learning_rate、text_encoder_lr、unet_lr三个字段。如果目录缺失或文件不全重新获取完整仓库git clone https://gitcode.com/GitHub_Trending/ko/kohya_ss把presets/下缺失的子目录补回去。回到 GUI在下拉框选预设后务必点右侧↩️按钮加载旁边还有 打开目录和 保存。选完下拉框不点按钮界面不会刷新任何数值。为什么下拉框的选项列表由list_files扫描config_dir下的.json生成扫描到文件 ≠ 文件被加载。做完后应该看到点↩️后Learning rate、TE 等输入框数值立即变成预设里的值LR warmup、optimizer 等字段也会联动变化。第三步兜底——手动设置学习率前两步做完仍然异常时直接手工填值也能立刻开训。参考值LoRA 训练模型Unet 学习率TE 学习率SDXL2e-5 左右2e-5 左右SD 1.51e-4 左右1e-4 左右官方文档 docs/LoRA/top_level.md 给出的 SDXL Adafactor 示例是learning_rate 4e-7docs/LoRA/options.md 和各预设 JSON 可作为不同优化器下的对照。填好后点 保存成自己的预设下次就不用再手敲了。进阶调优学习率配对了才算调到位学习率与优化器强绑定AdamW8bit 对 LoRA 友好数值可以给高一点Adafactor 自适应配 4e-7 这种小值更稳Lion / Prodigy 又是另一套量级。换预设时学习率、优化器、调度器要一起换只抄学习率是最常见的翻车点。调度器决定学习率的「曲线」cosine先高后低适合大多数 LoRAconstant配 warmup 适合短训练。注意 GUI 里选了constant后 warmup 会被自动清零——这不是失效是设计如此。常见误区以为「学习率越大收敛越快」——过大直接炸图、出糊图LoRA 尤其敏感批次翻倍时把学习率也翻倍——梯度累积gradient_accumulation_steps等效放大的是批次不一定需要动学习率FineTune 模式把 TE 学习率设得和 Unet 一样高——文本编码器通常要更保守很多社区做法是训练后期用「Stop TE」滑杆直接停掉 TE 训练。高频疑问Q下拉框里能看到预设为什么点 ↩️ 后数值没变A检查config.toml的[configuration] config_dir是否和实际预设所在目录一致默认./presets。路径指向空目录时下拉能留旧选项但加载读不到文件。QLoRA 界面怎么只有 Learning rate 一个框没有 TEA正常。单框模式是 LoRA 训练FineTune / DreamBooth 才会出现 TE / TE1 / TE2 框SDXL 勾选后还会切换成 TE1TE2。Q我改了学习率为什么下次开 GUI 又变回 0.0001A你改的是界面值没点 保存。保存后数值会写进预设 JSON想改的是「启动默认值」则应改config.toml的[basic]段。Q预设文件里 learning_rate 是 2e-05GUI 显示 2e-05 算正常吗A正常。科学计数法等价于 0.00002GUI 直接按文件里的数值显示。写在最后配置落地、预设在位、加载触发三步走完学习率自动填充基本不会再出问题。如果还有异常对照 docs/train_db_README.md 和相关 README或在 Kohya_SS 社区论坛发一下你的config.toml和截图通常很快有人帮你定位。【免费下载链接】kohya_ss项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表