deepfacelab中文网

 找回密码
 立即注册(仅限QQ邮箱)
查看: 48|回复: 3

微软你在干屌,偷偷给我更新,完事 pytorch报错

[复制链接]

6

主题

58

帖子

696

积分

高级丹师

Rank: 5Rank: 5

积分
696
 楼主| 发表于 昨天 22:49 | 显示全部楼层 |阅读模式
星级打分
  • 1
  • 2
  • 3
  • 4
  • 5
平均分:NAN  参与人数:0  我的评分:未评
本帖最后由 ulu 于 2026-7-15 22:59 编辑

Traceback (most recent call last):
  File "F:\dfl\z09-Tools\dfl_train_compat.py", line 69, in <module>
    main()
  File "F:\dfl\z09-Tools\dfl_train_compat.py", line 56, in main
    _patch_code_discriminator()
  File "F:\dfl\z09-Tools\dfl_train_compat.py", line 12, in patch_code_discriminator
    from core.leras.models.DiscriminatorsTorch import CodeDiscriminatorTorch
  File "<frozen core.leras>", line 3, in <module>
  File "<frozen DeepFaceLab.core.leras>", line 11, in <module>
  File "F:\dfl_INTER~1\DEEPFA~1\core\leras\nn.py", line 17, in <module nn>
  File "F:\dfl_internal\Py310-CUDA\lib\site-packages\torch_init.py", line 280, in <module>
    load_dll_libraries()
  File "F:\dfl_internal\Py310-CUDA\lib\site-packages\torch_init.py", line 263, in _load_dll_libraries
    raise err
OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败。 Error loading "F:\dfl_internal\Py310-CUDA\lib\site-packages\torch\lib\c10.dll" or one of its dependencies.
Press any key to continue . . .

训练干一半,给我重启了,更新完就启动不了。还好有 codex,查了 20 分钟,结果是微软 VC++的运行库问题

问题分析和解决:
C:\Windows\System32\MSVCP140.dll
C:\Windows\System32\VCRUNTIME140.dll
C:\Windows\System32\VCRUNTIME140_1.dll
这些 DLL 由 Microsoft Visual C++ Redistributable 安装,供 Torch、ONNX Runtime、浏览器、显卡工具等大量 C++ 程序共同使用。System32 是 64 位版本,SysWOW64 是 32 位版本。
Windows 更新为什么会碰到同名文件?因为 WebView、.NET、Windows App Runtime 等系统组件也是用 C++ 编译的,更新包内也包含名为 MSVCP140.dll、VCRUNTIME140.dll 的依赖副本。CBS 日志显示更新确实在处理这些文件,但处理的是 WinSxS/WebView 组件目录中的副本。
正常情况下:
Windows/WebView 私有副本 → WinSxS 或组件目录
VC++ 全局运行库       → System32 / SysWOW64
两者虽然同名,但不应该互相覆盖。所以严格来说,Windows 更新并不“需要”把 System32 中的 VC++ 运行库降级。我们遇到的是异常状态:更新/重启、挂起的文件替换或某个安装器使全局 DLL 只替换了一部分。
最关键的证据是:
注册表认为 VC++ 已经是 14.44
_1.dll 也是 14.44
另外两个 DLL 却是 14.00
这说明不是一次正常、完整的升级或降级,而是文件替换没有保持一致。它们也不是 DFL 自带文件;DFL 只是加载这些系统共享组件时首先暴露了问题。
因此更准确的说法是:Windows 更新与问题发生时间高度相关,并且更新确实处理过同名组件,但日志尚不能证明它直接把错误文件复制到了 System32。也可能是重启顺带提交了此前挂起的 VC++ 文件替换。现在通过 VC++ Repair,已经把全局三件套重新统一到 14.44。


分享出来避坑
怕遇到未知报错的一定要把自动更新给关了,兄弟们



截屏2026-07-15 22.40.31.png
回复

使用道具 举报

16

主题

3730

帖子

2万

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
21232

真我风采勋章万事如意节日勋章

发表于 4 小时前 | 显示全部楼层
day270010678 发表于 2026-7-15 23:38
你肯定搞错了。出现这样的情况,肯定是不是微软更新导致的,微软在更新也不会更新你pytorch里面的dll,这是 ...

仔细看 楼主的文字。
人家 是报错后,就这么解决的!你还来个 我猜
看文字,能否仔细点呢???
回复 支持 1 反对 0

使用道具 举报

33

主题

223

帖子

1694

积分

初级丹圣

Rank: 8Rank: 8

积分
1694
发表于 昨天 23:38 | 显示全部楼层
你肯定搞错了。出现这样的情况,肯定是不是微软更新导致的,微软在更新也不会更新你pytorch里面的dll,这是你安装pytorch自带的,我猜你代码大概率有bug,因为看你结构用nn.py就知道你这个是dfl的魔改,伪pytorch版的dfl。对于dfl出现这样的情况,大概率是你导入语句有问题,比方说pyqt5和torch导入顺序import pyqt5之类等等。
回复 支持 反对

使用道具 举报

33

主题

223

帖子

1694

积分

初级丹圣

Rank: 8Rank: 8

积分
1694
发表于 4 小时前 | 显示全部楼层
wtxx8888 发表于 2026-7-16 00:54
仔细看 楼主的文字。
人家 是报错后,就这么解决的!你还来个 我猜?
看文字,能否仔细点呢??? ...

不是我猜,而是我说的也是事实,真要验证究竟是谁对谁错,需要楼主再次降级把版本弄不一致,再来测试下,假如能正常运行,则我对,假如不能正常运行,则他错,或者你装pytorch,然后把vc++弄不一致,你测试下看看pytorch能否运行?会不会导致dll动态链错误?90%的情况下都是软件冲突,冲突的本质就是torch和pyqt的冲突导致无法加载dll,说白点就是假如他以前能正常运行,则最大可能就是他电脑启动的软件中有pyqt或者torch为框架的软件,导致他再次启动会由于冲突无法加载dll,这样的情况下,等他的软件都启动完毕后或者关闭后,或者电脑等一会再运行dfl,仍然能正常运行
回复 支持 反对

使用道具 举报

QQ|Archiver|手机版|deepfacelab中文网 |网站地图

GMT+8, 2026-7-16 05:49 , Processed in 0.100686 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表