
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 的兼容性。
解决步骤
- 首选方案(来自 Issue 讨论):重新运行
accelerate config,在问到 “Do you want to use Dynamo?”(或类似是否启用 Dynamo 的问题)时,选择 “NO”。该操作会生成不启用 dynamo 的 accelerate 配置文件,从而避免导入torch._dynamo。 - 备选方案(社区推测):如果上述方案无效,可优先尝试更新 PyTorch 版本至 2.0.1(
pip install torch==2.0.1),因为该版本对torch._dynamo支持较稳定。此操作来自 Issue 评论区,属于用户经验分享,并非官方保证。 - 若仍报错,检查虚拟环境中是否存在多个 PyTorch 版本冲突,建议在干净的 venv 中重新安装 kohya_ss 依赖。
验证方法
重新启动 kohya_ss 或直接运行训练命令,观察是否仍出现 ModuleNotFoundError: No module named 'torch._dynamo' 报错,训练脚本正常进入 LoRA 训练流程即表示问题已解决。



