公司动态

FaceFusion 模型下载手动实操:force-download 与哈希校验完整指南

📅 2026/9/3 13:07:06
FaceFusion 模型下载手动实操:force-download 与哈希校验完整指南
FaceFusion 模型下载手动实操force-download 与哈希校验完整指南【免费下载链接】facefusionIndustry leading face manipulation platform项目地址: https://gitcode.com/GitHub_Trending/fa/facefusion场景为什么需要手动管理 FaceFusion 模型下载把 FaceFusion 搬上离线服务器时模型下载几乎是第一道坎内网断网跑不动、公网带宽只有几十 KB、下载完还发现文件损坏导致推理直接报错。此时只靠自动下载已不可靠你需要手动管理模型文件并用 force-download 一键拉取和哈希校验兜底让部署一次到位。一键拉取force-download 命令全流程与下载范围基础用法这条命令会扫描全部处理器模块把缺失或校验不通过的模型补齐到本地python facefusion.py force-download实现逻辑在 facefusion/core.py 的force_download()里整体流程如下下载范围对照表--download-scope控制拉多少模型默认值来自 facefusion.ini 中[download]段的download_scope默认lite。早期资料里常说的 all / common / processors 等范围在当前源码中对应为lite与full两个取值范围拉取内容适用场景lite仅核心公共模型检测、关键点、识别等基础链路只想快速跑通基础流程节省磁盘与时间full公共模型 全部处理器专用模型换脸、增强、超分等完整功能体验、离线服务器一次性备齐# 离线部署前建议直接拉全量 python facefusion.py force-download --download-scope full手动下载.assets/models 目录布局与核心模型清单步骤 1创建模型目录并确认命名规范模型统一存放在项目根目录的.assets/models/下源码中通过resolve_relative_path(../.assets/models/...)定位目录是扁平结构不需要按功能分子目录。命名遵循两条规则模型文件模型名.onnx如inswapper_128.onnx校验文件同名加.hash后缀如inswapper_128.onnx.hash与模型同目录存放项目根目录/ └── .assets/ └── models/ ├── inswapper_128.onnx ├── inswapper_128.onnx.hash ├── scrfd_2.5g.onnx ├── scrfd_2.5g.onnx.hash └── ...步骤 2用 curl 手动下载模型与哈希文件下面这条命令模拟内置下载器行为-C -断点续传、-L跟随重定向、--retry失败重试把换脸模型和它的哈希文件下到指定位置。URL 前缀请替换为你实际可用的下载源路径形如下载源地址/models-版本/文件名# 先建目录 mkdir -p .assets/models # 断点续传下载换脸模型 curl -L -C - --retry 5 --connect-timeout 5 \ -o .assets/models/inswapper_128.onnx \ 下载源地址/models-3.0.0/inswapper_128.onnx # 哈希文件同样下载放到模型同级 curl -L -C - --retry 5 \ -o .assets/models/inswapper_128.onnx.hash \ 下载源地址/models-3.0.0/inswapper_128.onnx.hash常用核心模型清单以下文件名均来自源码中真实的模型声明体积以官方发布版本为准类型文件名用途体积面部检测scrfd_2.5g.onnx、yoloface_8n.onnx、retinaface_10g.onnx、yunet_2023_mar.onnx从画面中定位人脸以官方发布为准面部识别arcface_w600k_r50.onnx提取人脸特征向量用于比对以官方发布为准面部关键点2dfan4.onnx、fan_68_5.onnx、peppa_wutz.onnx定位五官关键点以官方发布为准面部处理inswapper_128.onnxInsightFace 换脸核心模型以官方发布为准面部增强gfpgan_1.4.onnx含 1.2 / 1.3 变体GFPGAN 人脸修复增强以官方发布为准超分辨率real_esrgan_x2.onnx、real_esrgan_x4.onnx、real_esrgan_x8.onnxRealESRGAN 帧级放大以官方发布为准哈希校验原理与手动比对步骤确保文件没坏先搞清楚FaceFusion 内置校验是 CRC32 而非 SHA256一个容易踩的坑网上不少资料说 FaceFusion 用 SHA256 验文件但看 facefusion/hash_helper.py 的源码会发现.hash文件里存的是模型内容的CRC32值8 位 16 进制字符串。核心校验逻辑只有这几行import zlib def create_hash(content: bytes) - str: # 用 CRC32 生成 8 位 16 进制摘要 return format(zlib.crc32(content), 08x) def validate_hash(model_path: str) - bool: # 读取同名 .hash 文件里的期望值与模型实算值比对 with open(model_path .hash) as f: expected f.read() with open(model_path, rb) as f: actual create_hash(f.read()) return actual expected所以校验失败时你的第一反应不该是重新下 SHA256而是把模型和.hash文件一起重新下载——两者必须来自同一版本。手动 sha256sum 比对给文件加一道独立保险CRC32 只能抓截断、错包这类粗损坏。更稳妥的做法是额外做一次 SHA256 独立复核同一文件两次独立下载的 SHA256 必须完全一致。# 1. 查看模型自带的校验文件内容 cat .assets/models/inswapper_128.onnx.hash # 2. 用 Python 复算 FaceFusion 同款 CRC32与上一步输出比对 python -c import zlib; print(format(zlib.crc32(open(.assets/models/inswapper_128.onnx,rb).read()), 08x)) # 3. SHA256 独立校验换一条网络重下一次两次结果应完全相同 sha256sum .assets/models/inswapper_128.onnx排障速查表下载慢、连不上、校验失败怎么处理问题现象可直接执行的建议下载速度慢进度条长时间不动或龟速① 换下载源--download-providers指定顺序不同的 provider② 加-C -断点续传分时段多跑几次③ 换网络高峰之外再跑 force-download连接失败curl 超时、返回码非 0①curl -I 下载源地址测试连通性② 检查代理与防火墙是否放行 443 端口③ 有镜像环境时调整 provider 优先级④ 参考 facefusion/curl_builder.py 了解内置超时与重试参数校验失败日志报validating source failed① 删除损坏的模型文件后重下内置流程会自动删除失败文件② 确认.hash与.onnx来自同一版本③ 用上面的 SHA256 双下载法确认是否为传输损坏离线部署自定义下载 Provider 与批量校验脚本FaceFusion 的 provider 机制在 facefusion/download.py 的resolve_download_url()中实现按配置顺序逐个 provider 试连命中第一个可用的就拼出完整 URL。源码内置的 provider 取值为github和huggingface其中 huggingface 会依次尝试其主域名与镜像域名。在 facefusion.ini 里调整下载行为[download] ; provider 按顺序尝试把更稳定的放前面 download_providers github huggingface ; 离线机器上建议 full一次备齐 download_scope full离线机到位后跑一遍批量校验脚本确认所有模型文件完好# 批量校验 .assets/models 下所有模型 import os from facefusion.hash_helper import validate_hash models_dir .assets/models for name in sorted(os.listdir(models_dir)): if not name.endswith(.onnx): continue path os.path.join(models_dir, name) mark 通过 if validate_hash(path) else 失败 print(mark name)只要输出全部通过就可以放心断网运行了。提速与批量校验并行、断点续传与本地缓存策略模型文件的存储构成大致如下按需裁剪能明显减少搬运量断点续传内置免费facefusion/curl_builder.py 中download()固定携带--continue-at -和--retry 5force-download 中断后重跑即可续传无需手工处理并行下载手动下载多个模型时把多条 curl 加放后台并行再用wait收尾能充分利用带宽本地缓存 / 模型仓库把验证过的.assets/models/整包打成 tar离线机上解压即用多台机器共用时维护一份金版目录更新只比对.hash差异只拉需要的范围只跑基础链路就用--download-scope lite避免把上百 MB 的超分变体全拖下来要点回顾与下一步force-download 会自动扫描模块、补齐缺失模型并校验是首选入口模型统一放在.assets/models/名.onnx名.onnx.hash成对出现内置校验是 CRC32手动用 sha256sum 双下载比对可加一道独立保险慢、断、坏三类问题按排障速查表处理即可离线部署靠 ini 里的 provider 顺序 批量校验脚本收口下一步给当前环境跑一次force-download --download-scope full再执行一遍批量校验脚本把验证通过的.assets/models/打包装入你的交付包后续升级版本时只按.hash差异增量更新。现在就跑第一条命令把下不完、验不过从部署清单里彻底删掉。【免费下载链接】facefusionIndustry leading face manipulation platform项目地址: https://gitcode.com/GitHub_Trending/fa/facefusion创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考