ModuleNotFoundError: No module named ‘torch._dynamo’

用户在 Windows 下使用 kohya_ss 运行 LoRA 训练脚本时,启动过程中产生 import torch._dynamo as dynamo 失败,抛出 ModuleNotFoundError: No module named 'torch._dynamo' 。报错出现在 accele

ModuleNotFoundError: No module named 'torch._dynamo'

ModuleNotFoundError: No module named ‘torch._dynamo’

快速结论:该报错通常出现在 Kohya SS (kohya_ss) 训练 LoRA 时,优先排查 accelerate config 配置中是否错误启用了 Dynamo 选项,或 PyTorch 版本不支持 torch._dynamo

问题场景

用户在 Windows 下使用 kohya_ss 运行 LoRA 训练脚本时,启动过程中产生 import torch._dynamo as dynamo 失败,抛出 ModuleNotFoundError: No module named 'torch._dynamo'。报错出现在 accelerate launch 加载模型之前,训练进程中断。

报错原文

import torch._dynamo as dynamo
ModuleNotFoundError: No module named 'torch._dynamo'

原因分析

可能原因:

  • accelerate config 配置过程中,用户选择了启用 Dynamo(动态编译)功能,但当前环境的 PyTorch 版本(torch)不包含 torch._dynamo 模块(该模块从 PyTorch 2.0 开始出现,且在早期版本或特定构建中可能缺失或不稳定)。
  • 另一种可能:PyTorch 版本过旧或与 accelerate 版本不兼容,导致 torch._dynamo 无法导入。

环境排查

  • 确认所使用的 PyTorch 版本:python -c "import torch; print(torch.__version__)"
  • 确认 accelerate 配置是否启用了 Dynamo:检查 ~/.cache/huggingface/accelerate/default_config.yaml 或运行 accelerate config 重新查看设置。
  • 确认 Python 版本(建议 Python ≥ 3.9)。
  • 确认 CUDA 版本与 PyTorch 的兼容性。

解决步骤

  1. 首选方案(来自 Issue 讨论):重新运行 accelerate config,在问到 “Do you want to use Dynamo?”(或类似是否启用 Dynamo 的问题)时,选择 “NO”。该操作会生成不启用 dynamo 的 accelerate 配置文件,从而避免导入 torch._dynamo
  2. 备选方案(社区推测):如果上述方案无效,可优先尝试更新 PyTorch 版本至 2.0.1(pip install torch==2.0.1),因为该版本对 torch._dynamo 支持较稳定。此操作来自 Issue 评论区,属于用户经验分享,并非官方保证。
  3. 若仍报错,检查虚拟环境中是否存在多个 PyTorch 版本冲突,建议在干净的 venv 中重新安装 kohya_ss 依赖。

验证方法

重新启动 kohya_ss 或直接运行训练命令,观察是否仍出现 ModuleNotFoundError: No module named 'torch._dynamo' 报错,训练脚本正常进入 LoRA 训练流程即表示问题已解决。

参考来源

bmaltais/kohya_ss #567

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

celebrityanime
celebrityanime
文章: 14545

发表回复

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