ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

FaceFusion离线部署教程:4步搬运模型缓存到内网服务器

FaceFusion离线部署教程:4步搬运模型缓存到内网服务器 FaceFusion离线部署教程4步搬运模型缓存到内网服务器【免费下载链接】facefusionIndustry leading face manipulation platform项目地址: https://gitcode.com/GitHub_Trending/fa/facefusion企业内网跑FaceFusion时第一次启动卡在模型下载上进度条停在几MB不动或直接报download相关的日志后退出。原因很简单——它默认从 GitHub 和 HuggingFace 拉取 ONNX 模型内网根本连不出去。我们换条路在能上网的机器上把模型一次性备齐整个缓存目录拷进内网。全程 4 步约 30 分钟。先搞懂它什么时候才会联网不摸清下载时机离线方案就是瞎猜。FaceFusion 对每个模型都维护一对文件模型本体如scrfd_2.5g.onnx和一份同名的.hash校验文件两者都缓存在仓库根目录下的.assets/models/里。校验逻辑在 facefusion/hash_helper.py用 CRC32 算出模型文件的指纹和.hash里存的值比对。下载决策在 facefusion/download.py 的conditional_download里initial_size get_file_size(download_file_path) download_size get_static_download_size(url) if initial_size download_size: # 只有本地文件不完整时才真正发起 curl 下载 open_curl(commands)意思是本地文件已经够大就跳过一个字节都不会传。下载源由download_provider_set决定facefusion/choices.pyGitHub 不可达时会自动试 HuggingFace 的国内镜像。整个流程长这样结论只要.assets目录里的文件对得上后续运行零联网。这就是离线部署的全部依据。实战在有网机器上备好整套模型缓存第一步装好依赖确认可执行入口先确认基础环境缺任何一项FaceFusion 在预检阶段facefusion/core.py 的pre_check就会直接拒绝启动。pip install -r requirements.txt python facefusion.py --help需要 Python 3.10系统里装有curl、ffmpeg、ffprobe三个可执行文件下载模型用的就是 curl。成功标志--help正常打印出force-download、headless-run等子命令列表没有Dependency not installed报错。第二步按处理器清单批量拉取模型FaceFusion 提供force-download子命令专门干这件事。--download-scope分lite默认仅当前启用的处理器和full全量模型。内网部署建议full一次到位python facefusion.py force-download --download-scope full如果内网机器访问 HuggingFace 镜像更顺畅把下载源换掉python facefusion.py force-download --download-scope full --download-providers huggingface成功标志日志逐行输出validating hash succeeded/validating source succeeded最终进程退出码为 0.assets/models/下同时出现.onnx与同名.hash成对文件。第三步把 .assets 整个目录搬进内网校验文件必须跟模型本体放在一起缺一个.hash就会被判定不可信重新下载。所以打包时目录结构别动cd /path/to/facefusion tar -czf facefusion-assets.tar.gz .assets用 scp 或 U 盘把压缩包传到内网服务器解压到内网代码目录的同一层和facefusion.py平级因为.assets的路径是相对facefusion/包目录解析的。成功标志内网机器上执行ls .assets/models/*.hash | wc -l数量与有网机器一致。第四步在内网机器上验证并跑通内网机器不需要再下载但要做两件事确认文件完整、确认真的离线可用。python - EOF from pathlib import Path from facefusion.hash_helper import validate_hash files sorted(Path(.assets/models).glob(*.onnx)) ok sum(validate_hash(str(p)) for p in files) print(f{ok}/{len(files)} models valid) EOFvalidate_hash是项目自带的校验函数逐个比对 CRC32输出形如23/23 models valid。再跑一次python facefusion.py force-download --download-scope full此时所有文件都已通过校验应该十几秒内退出且不产生新下载。最后用真实任务收口python facefusion.py headless-run --source-paths 参考照.jpg --target-paths 目标.mp4 --processors face_swapper成功标志任务结束打印Processing job succeeded输出文件出现在--output-path指定位置全程无任何下载日志。速查核心模型与配置对照表资源 / 配置用途适用场景是否必装scrfd_2.5g.onnxmodels-3.0.0人脸检测所有功能缺它什么都跑不了必装arcface_w600k_r50.onnxmodels-3.0.0人脸身份识别换脸、年龄修改等需要认准同一张脸的流程必装blendswap_256.onnxmodels-3.0.0人脸交换模型仅face_swapper处理器用到换脸才装fran.onnxmodels-3.6.0年龄修改模型仅age_modifier处理器用到才装corridor_key_2048.onnxmodels-3.6.0高质量抠背景仅background_remover处理器用到才装--download-scope lite/full控制拉取范围lite省流量、full求稳默认lite[download]配置段facefusion.ini持久化下载源与范围多台内网机统一行为可选模型与处理器的完整对应关系看各模块的create_static_model_set即可例如 facefusion/processors/modules/face_swapper/core.py。避坑5 个高频故障速查现象原因解法启动即报Dependency not installed系统缺curl/ffmpeg/ffprobe可执行文件用系统包管理器装齐三件套which逐一确认反复下载同一个模型、日志出现deleting corrupt source.onnx与.hash不配对CRC32 对不上常见于只拷了模型没拷 hash重新整目录打包.assets确保成对文件齐全force-download报权限错误、目录建不出来部署用户对代码根目录没有写权限用有写权限的账号运行或给目录授权后再执行只用了lite范围内网换处理器却提示缺模型lite只拉取当前启用的处理器模型重新执行force-download --download-scope full补齐下载中途网络断开留下半截大文件curl 中断产生残文件大小比对虽小于完整值会自动重下但残留占空间删除.assets/models里对应残文件重跑force-downloadfull与lite的范围定义见 facefusion/types.py 中的DownloadScope。收尾把.assets当成可复制的软件包管理配合 CRC32 自检FaceFusion 在内网就是纯离线工具。现在你可以挑一个真实任务用headless-run把参考照 → 输出视频完整跑一遍跑通即部署完成。【免费下载链接】facefusionIndustry leading face manipulation platform项目地址: https://gitcode.com/GitHub_Trending/fa/facefusion创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表