求助各位大佬。
、我跑模型跑了2步,然后想导出去去看效果,到处去显示这些代码是什么意思,然后把模型放LIVE上面测试发现全是雪花,
然后我继续跑第三步,把GAN和真脸打开了,还是可以继续跑,我现在跑有意义吗啊,我是不是哪里错了,
这个你要问发布这个版本的作者,看看此版本作者是否遇到同样问题,问下是否有解决方案。是否已经发布了修复布丁
如果没有,放弃使用此版本,找下模型备份, 1. TraceWarning: Converting a tensor to a Python integer might cause the trace to be incorrect...
原因:模型中某处代码将 PyTorch 张量直接转换成了 Python 整数(例如调用了 .item() 或 int(tensor))。在 ONNX 导出(使用 torch.jit.trace)时,这种操作会将当前推理时的具体数值硬编码到计算图中,而不是保留为可变的输入。
后果:导出的 DFM 在推理时可能无法正确处理不同的输入形状或数值范围,因为该处运算已被固化。
2. UserWarning: Constant folding - Only steps=1 can be constant folded for opset >= 10 onnx::Slice op.
原因:ONNX 导出时遇到了 Slice 操作(切片),且切片步长(steps)不等于 1。在 opset 版本 ≥ 10 的 ONNX 规范中,常量折叠优化不支持非 1 步长的切片。
后果:仅仅是优化被跳过,不影响计算正确性。该警告可以安全忽略。
针对这些魔改版他们的问题都挺大,以下几个建议:
A.使用较新版本对动态切片和常量折叠的兼容性更好。在 DFL 的 Python 环境中执行:
pip install torch torchvision torchaudio --upgrade
pip install onnx onnxruntime --upgrade
B.指定 ONNX opset 版本
导出 DFM 时,尝试使用较低的 opset 版本(如 opset 9)或更高的 opset(如 13+)。你可以在转换脚本(通常是 convert_to_dfm.py 或类似文件)中找到导出 ONNX 的部分,添加参数:
torch.onnx.export(..., opset_version=11) # 或 12, 13
不过 DFL 的转换工具通常封装了这些参数,可能需要修改源代码。
C.更新显卡驱动和 CUDA 工具包
下载最新 NVIDIA 驱动(支持 RTX 50 系列或你的具体显卡型号)。
确保 DFL 环境中的 CUDA 版本与 PyTorch 匹配(可以通过 torch.version.cuda 查看)。
对于 RTX 4090 / A5000 等,推荐 CUDA 11.8 或 12.1。
D.最后一种最麻烦,底层格式不兼容,虽然是可以训练但你无法倒出来 DFM ,用 JexterX 他的版本 Trainer 1.5.2
这是收费的,有不收费的
Trainer 1.4.x should be ready, paid version is at the new customer portal, DFM merge is done and documentation is written or migrated to GitHub from PDF
Environment 1.4: https://drive.google.com/file/d/1l8QPyHPytcyCimrXfd0CPTl0onQsCooY/view?usp=sharing
Trainer 1.4.2:https://drive.google.com/file/d/1I1DEM0GUYCMGd1DQftxOgt9aEL-nRevU/view?usp=sharing
DFL DFM merge: https://github.com/MachineEditor/DeepFaceLab-MVE/tree/onnx-merge
Documentation: https://github.com/MachineEditor/mve-docs
如果你有心搞,你自己去网上找找他的免费版本
页:
[1]