news 2026/9/16 14:29:47

Deep-Live-Cam 实时换脸:inswapper_128 ONNX 模型加载失败 30 分钟修复完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Deep-Live-Cam 实时换脸:inswapper_128 ONNX 模型加载失败 30 分钟修复完整指南

Deep-Live-Cam 实时换脸:inswapper_128 ONNX 模型加载失败 30 分钟修复完整指南

【免费下载链接】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 是它换脸管线前端的 ONNX 模型,首次运行失败基本都出在它的加载上。本文只排查加载失败及配套环境核查,不涉及换脸画质与编码参数。高频症状有三类:控制台报 CUDA 执行提供器不可用、状态栏提示模型文件缺失、显示 Loading face swapper model 后进程直接退出。

症状快判:先把报错文本对到根因上

先判断症状属于哪一类,对照下表确定排查方向,不要急着动手。

报错现象最可能根因第一步动作
CUDAExecutionProvider not foundonnxruntime-gpu 缺少 cuDNN 等 CUDA 运行库组件先用 cpu 提供器验证
Model not found in .../modelsmodels/ 下 FP16、FP32 两个文件均缺失ls models/检查并补下载
Failed to load library libcudnn.sovenv 里的 cuDNN 未被 onnxruntime 感知回到python run.py启动
Failed to create directory ... permissionmodels/ 目录无写权限换有权限的用户运行或给目录授权
Error loading face swapper model模型文件损坏或下载截断重新下载并用 onnx.checker 校验
CUDA graph init failed, using standard sessionCUDA 图不可用,非加载失败忽略,已自动回退标准会话
Loading face swapper model后进程直接退出会话创建失败,提供器链全部不可用先用 cpu 提供器隔离,再按本表定位

一行命令验证模型文件:CPU 隔离环境问题

⚠️ 改动面最小的操作:不触碰项目里的任何文件。

适用现象:控制台报CUDAExecutionProvider not found。这类报错几乎都是 onnxruntime-gpu 缺少 cuDNN 等运行库组件(没装或版本不匹配),模型文件本身一般没问题。

怎么做:把执行提供器切到 CPU,验证模型能否正常加载。

python run.py --execution-provider cpu

成功后看到什么:模型在 CPU 上完整加载,状态栏出现Face swapper model loaded successfully。帧率会降,但整条管线跑通。

判断口径:cpu 能加载而 cuda 不能,问题在环境侧,不必怀疑模型文件,之后单独查 cuDNN。

30 秒确认 models 目录:补下载缺失换脸文件

适用现象:报Model not found in .../models

怎么做:先列目录看缺了什么。

ls models/

modules/processors/frame/face_swapper.py的 pre_check 会在缺失时尝试自动下载,网络不通会静默失败,models/ 保持为空。确认为空或文件截断后,按models/instructions.txt给出的地址补下载:

  • inswapper_128_fp16.onnx:约 275MB
  • inswapper_128.onnx:约 550MB

pre_start 检查只要求两者至少存在其一;两个都在时,CUDA 可用会自动选 FP16,否则回退 FP32。

成功后看到什么:重新启动后模型直接加载,不再提示 Model not found。

回到 run.py 启动:别漏掉 Linux 的 cuDNN 预加载

适用现象Failed to load library libcudnn.so

先确认是否用python run.py启动。该文件内置了 Linux 下 cuDNN 的预加载逻辑,直接python -m modules.core启动会绕过它,漏掉这一步。

✅ 修法 A:回到python run.py启动。

修法 B(无界面场景):在modules/globals.py把回退链固定为execution_providers = ["CUDAExecutionProvider", "CPUExecutionProvider"]。运行时按列表顺序执行,第一个提供器跑不动的算子自动落到下一个。

成功后看到什么:加载不再失败。CUDA 确实不可用时,所有子图在 CPU 执行,性能等同纯 CPU。

环境核查表:版本、文件、硬件逐维度过一遍

上面三项修法都没命中时,逐项过这张表。

维度检查项期望值不满足时怎么处理
软件版本Python 版本3.11–3.14,README 推荐 3.14用匹配版本重建 venv
软件版本onnxruntime-gpu 版本==1.26.0(requirements.txt 锁定)执行pip install -r requirements.txt
软件版本CUDA 环境CUDA 12.x,nvidia-smi 可见显卡改用 cpu 提供器或修复驱动
软件版本onnxruntime 可用提供器列表非空,含想用的提供器重装对应 onnxruntime 变体
软件版本execution_providers 当前值非空,且每项都在可用列表内重新传--execution-provider参数
文件与目录models/ 目录存在且可写(首次启动自动创建)修复目录权限或更换运行用户
文件与目录inswapper_128_fp16.onnx约 275MB 且存在models/instructions.txt下载
文件与目录inswapper_128.onnx约 550MB 且存在,二者存其一即可同上
文件与目录GFPGANv1.4.pth仅启用 face_enhancer 时需要按 instructions.txt 下载,不用增强器可忽略
硬件资源models/ 磁盘剩余空间≥5GB(模型 + 临时帧)清理磁盘或换到空间充足的盘
硬件资源显存与系统内存nvidia-smi / free -h 有余量关闭占用 GPU 的其他进程

加载成功之后:三个进阶选项

  • FP16/FP32 自动选择:get_face_swapper 在 torch 能感知 CUDA 且 fp16 文件存在时选 FP16,否则回退 FP32。⚠️ 16xx 系显卡 FP16 会出 NaN,注意显卡型号。
  • 批处理大小modules/processors/frame/core.py按帧数与线程数自动推导 batch_size,没有手工参数;视频处理内存吃紧时,调低--execution-threads--max-memory间接缩小批大小。
  • 日志与完整性modules.globals.log_level控制 ffmpeg 日志,切 debug 后输出会变啰嗦;怀疑模型损坏时直接校验:
import onnx onnx.checker.check_model(onnx.load("models/inswapper_128_fp16.onnx"))

都不命中:收集两份材料去 issues 找先例

把完整控制台输出和onnxruntime.get_available_providers()的返回值一起收集,到项目官方 issues 页搜索相同报错特征的先例。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 14:29:40

Android工业RFID开发:Java直驱HAL层实战指南

简介:这是一套面向Android开发初学者与RFID行业应用开发者的学习型实战源码,聚焦于仓储物流场景下的物料全流程追踪管理。项目基于Java语言开发,完整实现盘询标签、物料入托、托盘/物料入库与出库等核心业务功能,可直接部署到Andr…

作者头像 李华
网站建设 2026/9/16 14:29:40

亚马逊A9算法与领导者效应实战解析

1. 亚马逊商业生态中的"领导者效应"解析在亚马逊这个全球最大的电商平台上,"成为第一"绝非简单的营销口号,而是一个经过验证的商业法则。作为从业多年的亚马逊运营专家,我发现许多卖家对"领导者效应"的理解仅停…

作者头像 李华
网站建设 2026/9/16 14:28:28

Hermes 和 OpenClaw 跑长期代理任务:Key 用 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/16 14:28:23

用MATLAB实现Haar级联人脸检测与身份识别仿真

简介:面向高校本硕博教学科研场景,这份Matlab仿真资源围绕基于Haar分类器的人员身份识别任务,提供了一套完整可运行的算法工程与实操演示。资源中,主程序设计脚本负责整体流程调度,图像库读取函数负责加载pgm灰度样本&…

作者头像 李华
网站建设 2026/9/16 14:28:21

二极管钳位型三电平SVPWM闭环Simulink建模全解析

最近陆续有几个做电力电子的同学来问同一件事:二极管钳位型三电平SVPWM闭环系统的Simulink建模到底怎么搭。问我的人里有做并网逆变器毕设的,也有准备投设备联调的电控工程师,大家卡住的点很集中:要么是SVPWM算法写出来波形完全不…

作者头像 李华