一小时内跑通 FaceFusion 离线部署换脸、增强模型完整落地记【免费下载链接】facefusionIndustry leading face manipulation platform项目地址: https://gitcode.com/GitHub_Trending/fa/facefusionFaceFusion 是一个开源的面部操作平台内置 face_swapper换脸、face_enhancer人脸增强、lip_syncer唇形同步等 12 个可组合的处理器模块。本文按一次真实落地推进在一台无法访问外网的公司内网机器上一小时内把 FaceFusion 离线部署跑通覆盖模型预下载、哈希校验、离线包打包和 headless-run 验证这几个关键动作。 开工前在一台能联网的机器上核对五件事所有准备工作都在一台能上外网的机器上完成内网机器最后才出场。打开终端逐项核对Python 3.10 及以上python --versiongit 可用git --version磁盘有 5GB 以上空闲全量模型约几个 GBdf -h .能访问默认下载源GitHub 不可达时会自动尝试 Hugging Face 及其镜像curl -sI https://github.com能跑通依赖安装装完后再用python -c import onnxruntime确认不报错主路径联网机器上把模型备齐第一步拉代码、装依赖# 拉取 FaceFusion 源码 git clone https://gitcode.com/GitHub_Trending/fa/facefusion # 安装锁定的依赖版本gradio 5.50、onnxruntime 1.26 等 python -m pip install -r facefusion/requirements.txt为什么单独锁版本requirements.txt里 gradio、onnx、opencv 全部固定了版本号模型推理行为依赖这套组合别随手升级。怎么算成功第二条命令跑完后python -c import onnxruntime无输出无报错。第二步一次性把模型下全# 下载全部处理器需要的模型默认是 lite只含默认换脸链路 python facefusion.py force-download --download-scope full这一步是 FaceFusion 模型下载的核心命令。它会遍历所有处理器模块与其依赖的公共模块对每个模型先取.hash校验文件、再取.onnx源文件下完立即做哈希比对任何一个文件缺失或不通过进程返回退出码 1。模型统一落在代码目录下的.assets/models/里所以后面打包时这个目录必须原样带上。怎么算成功终端没有出现validating hash failed或deleting corrupt source字样退出码为 0。第三步抽验完整性再打包# 查看模型清单与体积心里有数 ls -lh .assets/models/ # 把源码、模型、配置打成一个离线包含隐藏的 .assets 目录 cd facefusion tar -czf ../facefusion-offline.tar.gz .哈希校验其实已经由force-download逐文件做过这里再抽一个文件手工比对一次更放心# 手工抽验把模型文件的 sha256 与同目录 .hash 文件内容对比 sha256sum 某个.onnx cat 某个.onnx.hash两边一致就可以把facefusion-offline.tar.gz用 scp 或 U 盘送进内网了。第四步内网机器上解压、装依赖、跑通第一条任务内网机器上解开离线包装依赖无外网的机器需要预先把 wheel 备齐或走公司 PyPI 镜像然后用 headless 模式做一条最小验证# 无界面模式跑一条图片 → 图片任务只带换脸器 python facefusion.py headless-run --processors face_swapper -s source.jpg -t target.jpg -o output/成功标志是终端打印[PROCESSOR:TO_IMAGE] processing image to image succeeded且output/目录里生成结果图。到这一步一小时的窗口内主路径已经走完了。岔路口主路径卡住时先看现象如果你看到下载进度条长期停在 0% 或反复出现 curl 超时说明当前网络到默认下载源不通。先确认代理变量是否生效export https_proxyhttp://...后重试办公网常只放行部分出口这时可以换源顺序让内置的 Hugging Face 通道含 hf-mirror.com 镜像优先接管python facefusion.py force-download --download-scope full --download-providers huggingface。如果你看到validating source failed或deleting corrupt source说明某个文件下了一半、哈希对不上。程序已自动删掉坏文件删掉同目录的.hash后重跑一次force-download即可它会只补缺失的部分不会从头再下。如果你看到ModuleNotFoundError或 onnxruntime 相关的版本冲突说明依赖被环境里的旧包污染了。回到python -m pip install -r requirements.txt --force-reinstall重装要用 GPU 的话用仓库自带的 install.py 安装对应的 onnxruntime-gpu 版本而不是手动 pip 装。如果磁盘告急或你只需要默认换脸链路把--download-scope full换成--download-scope lite只下载最小模型集合能省下大量空间。面向生产把一次性跑通变成可持续运行跑通之后建议把常用参数固化进 facefusion.ini[paths]里钉住temp_path、output_path[download]里钉住download_providers[execution]里钉住execution_providers与execution_thread_count这样 headless-run 和批量任务的行为可预期、可复现。批量处理时用batch-run配合--source-pattern/--target-pattern做通配长任务则交给内置的作业系统job-create建草稿、job-add-step挂步骤、job-run执行状态随时可以用job-list查。更新与备份方面要记住一点.assets/models/与代码版本绑定当前模型集为 models-3.0.0升级 FaceFusion 大版本后往往要重新走一遍下载所以离线包命名带上日期与版本号旧包保留两到三代回滚才不慌。最后提醒一句合规问题平台本身是 OpenRAIL-AS 许可但部分人脸检测模型如 retinaface、scrfd元数据标注为 Non-Commercial商用场景前务必逐模型核对。收尾按你的情况选一条路有外网、图省事装完依赖直接run首次启动会按需自动拉模型force-download留作加速与补漏。有外网、目标机器无外网照本文主路径走联网机上force-download 打包内网机解包即跑。完全隔离环境额外把 pip wheel 也备进离线包其余与上一条相同。延伸方向可以看三处facefusion/processors/modules/下每个处理器的 choices 与 core理解参数空间tests/ 里的 test_job_runner、test_ffmpeg 等测试了解批量与作业流程的边界行为以及benchmark子命令用它量化不同执行后端下的处理速度。【免费下载链接】facefusionIndustry leading face manipulation platform项目地址: https://gitcode.com/GitHub_Trending/fa/facefusion创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?