Deep-Live-Cam 实时换脸模型加载失败?inswapper_128 手把手 3 分钟彻底排查指南
2026/9/7 4:37:31 网站建设 项目流程

Deep-Live-Cam 实时换脸模型加载失败?inswapper_128 手把手 3 分钟彻底排查指南

【免费下载链接】Deep-Live-Camreal time face swap and one-click video deepfake with only a single image项目地址: https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam

Deep-Live-Cam 是一款实时换脸工具,只用一张照片就能把人脸替换进视频或摄像头画面。如果你启动时卡在 inswapper_128 模型加载这一步,本文按"从最可能到最不可能"的顺序,带你把模型加载失败的常见原因逐一排掉,照做就能跑起来。

30 秒自检:先判断你卡在哪

你看到的现象大概率原因跳到
提示Model not found in .../models,或界面卡在加载不动models目录缺inswapper_128.onnx,或文件其实是个几 KB 的下载链接文本方案一:确认 models 目录模型文件完整性
报错含CUDAExecutionProvider、onnxruntime 初始化失败onnxruntime 执行器与显卡/CUDA 环境对不上方案二:切换 execution-provider 绕过环境不匹配
只有旧显卡(GTX 16 系及更早),画面发黑或加载 FP16 失败FP16 模型在老 GPU 上算出 NaN方案三:FP16 降级 FP32 的具体命令
装依赖或 import onnxruntime 就报错Python 版本低于 3.11,不在项目支持范围方案四:按版本要求重建虚拟环境

方案一:确认 models 目录模型文件完整性

模型文件是换脸程序的"大脑",inswapper_128.onnx(FP32,约 550MB)或inswapper_128_fp16.onnx(FP16,约 275MB)必须放在项目根目录的models文件夹里,两者有一个即可。程序启动时由modules/processors/frame/face_swapper.py检查这两个路径,都没有才会报 "Model not found"。⚠️ 一个高频陷阱:把下载链接当文件存了,或网页跳转后保存下来一个几 KB 的 HTML"模型"。所以先看大小,而不是只看文件名:

ls -lh models/ # Windows 用 dir models # 正常值参考:inswapper_128.onnx ≈ 550MB;inswapper_128_fp16.onnx ≈ 275MB

如果文件缺失或大小明显不对,按models/instructions.txt给的官方地址重新下载,并确认落盘后扩展名是.onnx

判断标准:重新运行python run.py,日志出现Loading face swapper model from: .../models/inswapper_128.onnx,随后打印Face swapper model loaded successfully.即为成功。

如果文件完整却仍然报错,说明问题出在运行环境上,继续往下。

方案二:用 --execution-provider 切换执行器,绕过 CUDA 不匹配

执行器(Execution Provider)就是 onnxruntime 跑模型的"插座",CUDA 不匹配就像充电器和插座规格对不上——硬插只会烧接口。modules/core.py里的decode_execution_providers只会从 onnxruntime 实际可用的执行器里挑选,所以最稳的修法是直接用命令行换"插座",不必去改任何配置文件:

python -c "import onnxruntime as ort; print(ort.get_available_providers())"

这条命令列出当前环境真正可用的执行器。之后按需指定:CPU 模式用python run.py --execution-provider cpu,确认 CUDA 正常则用--execution-provider cuda,AMD 用rocm,苹果芯片用coreml

判断标准:启动日志不再抛CUDAExecutionProvider相关异常,并且能走到"Loading face swapper model from ..."这一行。

切到 CPU 会慢一些,但先跑通再谈速度。

方案三:FP16 降级 FP32 的具体命令

老显卡上 FP16 容易算出 NaN,表现为加载后画面发黑、人脸区域异常。程序逻辑是:仅当 CUDA 可用inswapper_128_fp16.onnx存在时才优先加载 FP16(见face_swapper.pyget_face_swapper)。所以把 FP16 文件挪走,它会自动回落到 FP32,牺牲一点速度换稳定:

mv models/inswapper_128_fp16.onnx ~/inswapper_fp16_backup.onnx

判断标准:启动日志中Loading face swapper model from:后面指向的是inswapper_128.onnx(不带 fp16 字样),且换脸画面正常。

如果上面没解决,继续往下。

方案四:检查 Python 版本并重建虚拟环境

项目要求 Python 3.11~3.14(推荐 3.14):onnxruntime 已经放弃 3.10 及以下版本,装太旧的 Python 会在依赖安装或 import 阶段就报错。先确认当前版本:

python --version

若低于 3.11,用新 Python 重建环境再装依赖:

python3.14 -m venv venv && . venv/bin/activate pip install -r requirements.txt

判断标准:python --version落在 3.11~3.14 区间,启动时 onnxruntime 不再报 ImportError 或 undefined symbol 类错误,并能走到模型加载阶段。

加固与防复发

  • 修好之后导一份环境快照,以后换机器或出问题可以照着复原:
{ python --version; pip show onnxruntime insightface | grep -E "Name|Version"; uname -a; } > env_snapshot.txt
  • models/目录备份一份到别处:换电脑或重装环境时直接拷回来,省得重新下载几百 MB。
  • 每次改动后看启动日志的两行就够了:Loading face swapper model from:确认用的是哪个模型文件,执行器列表确认跑在哪个"插座"上。

速查卡片:模型路径、关键命令与版本要求

模型目录 <项目根>/models/ 模型文件 inswapper_128.onnx (~550MB) 或 inswapper_128_fp16.onnx (~275MB) 完整性检查 ls -lh models/ 查看执行器 python -c "import onnxruntime as ort; print(ort.get_available_providers())" CPU 兜底 python run.py --execution-provider cpu CUDA 加速 python run.py --execution-provider cuda Python 3.11 ~ 3.14(推荐 3.14) 成功标志 日志出现 Face swapper model loaded successfully.

还有排不掉的报错,把启动日志最后 20 行贴到项目仓库的 Issue 区,通常很快会有人帮你定位。

【免费下载链接】Deep-Live-Camreal time face swap and one-click video deepfake with only a single image项目地址: https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询