ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Deep-Live-Cam inswapper_128 ONNX 模型加载失败:3 种报错的排查,一次搞定

Deep-Live-Cam inswapper_128 ONNX 模型加载失败:3 种报错的排查,一次搞定 Deep-Live-Cam inswapper_128 ONNX 模型加载失败: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-CamDeep-Live-Cam 的换脸管线第一站就是 inswapper_128 这个 ONNX 模型,加载环节卡住时,问题九成集中在三处。你大概率也卡在这三处,咱们一个个过。本文只解决 ONNX 模型加载失败,不谈换脸效果和编码参数。 症状分诊先对号入座,三种形态:CUDAExecutionProvider not found、Model not found in .../models、Loading face swapper model之后进程直接退出。逐层排障切到 CPU 执行提供器,先验证模型文件现象:控制台抛CUDAExecutionProvider not found,会话建不起来,模型加载直接失败。根因:几乎都是 onnxruntime-gpu 缺 CUDA 运行库组件(cuDNN 没装、版本对不上),modules/processors/frame/face_swapper.py 创建会话时拿到的提供器根本跑不动;模型文件本身通常是无辜的。操作:不动任何文件,换一个确定可用的提供器绕开会话创建:python run.py --execution-provider cpu验证:状态栏出现Face swapper model loaded successfully.,实时帧率会降但管线跑通。CPU 能加载而 CUDA 不能,问题就锁定到环境侧,之后单独补 cuDNN,不必怀疑模型文件。补齐 models 目录下的 inswapper 文件现象:状态栏提示Model not found in .../models。根因:pre_start检查要求inswapper_128_fp16.onnx(约 275MB)与inswapper_128.onnx(约 550MB)至少存在其一;pre_check虽然会经 modules/model_downloader.py 尝试自动下载,但网络不通时下载失败,目录保持为空。操作:先看目录现状:ls models/确认为空或文件截断后,按 models/instructions.txt 给出的地址下载对应文件放入models/。验证:重启后检查通过;两个文件都在时,get_face_swapper会在 torch 能感知 CUDA 且 fp16 文件存在时自动选 FP16,否则回退 FP32。锁定执行提供器回退链顺序现象:状态栏停在Loading face swapper model ...后进程退出,或者报Failed to load library libcudnn.so、Error loading face swapper model。根因:Linux 下 cuDNN 的预加载逻辑内置在run.py里(用 ctypes 预载 venv 内的 nvidia 运行库),绕过它直接python -m modules.core启动,onnxruntime 就感知不到 cuDNN。操作:坚持用python run.py启动,别绕过其预加载逻辑;无界面场景还可以直接固定回退链:execution_providers [CUDAExecutionProvider, CPUExecutionProvider]验证:ONNX Runtime 按列表顺序执行,第一个提供器跑不动的算子自动落到下一个;CUDA 确实不可用时所有子图在 CPU 执行,加载不再失败,性能等同纯 CPU。 跑之前花两分钟确认的环境基线Python 版本:最低 3.11(onnxruntime 已放弃 3.10),README 推荐 3.14。多版本共存时确认python指向正确解释器,不匹配就重建 venv。onnxruntime 版本:requirements.txt 在非 macOS 平台锁定onnxruntime-gpu1.26.0,直接pip install -r requirements.txt对齐,别手动装别的版本。CUDA 环境:nvidia-smi能看到显卡、CUDA 12.x;没有就先走 cpu 提供器,别急着修驱动。models 目录权限:首次启动会自动创建,但运行用户对所在分区必须可写,否则pre_check直接报Failed to create directory ... permission错误。inswapper 文件:两个文件至少存其一,完整大小分别约 275MB 与 550MB;差几个字节基本就是下载截断。磁盘剩余空间:模型加处理时的临时帧,给models/所在分区留 5GB 以上。可用提供器列表:onnxruntime.get_available_providers()返回值非空,且你想用的提供器在列表里;execution_providers里每一项都得是列表内成员,对不上就重传--execution-provider参数。⚙️ 加载稳定之后的调优旋钮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,默认 error;切 debug 后处理帧时输出变啰嗦,排查完记得改回去。模型完整性校验:怀疑文件损坏时,直接跑onnx.checker.check_model(onnx.load(models/inswapper_128_fp16.onnx)),无异常输出即通过,onnx 1.22.0 已随 requirements 装好。仍然卡住?把完整控制台输出和onnxruntime.get_available_providers()的返回值一起收集,去项目官方 issues 页找相同报错特征的先例。顺带说明:CUDA graph init failed, using standard session不是加载失败,它只表示 CUDA 图不可用、已自动回退标准会话,忽略即可。【免费下载链接】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),仅供参考
返回列表