当前位置: 首页 > news >正文

基于 EPGF 架构理念的 FaceFusion 3.4.1 本地 .venv 部署教程(非 Conda 环境部署优化版)

基于 EPGF 架构理念的 FaceFusion 3.4.1 本地 .venv 部署教程(非 Conda 环境部署优化版)

什么是 EPGF 架构?

【EPGF 白皮书】路径治理驱动的多版本 Python 架构—— Windows 环境治理与 AI 教学开发体系

EPGF(Engineering Python Governance Framework) 是一套 工程化 Python 治理体系,通过 三维治理 → 四级隔离 → 五项自治 构建完整闭环,实现路径可控、结构可迁移、状态可复现。
本教程借助 EPGF 的治理理念,在 Windows 环境中采用“版本隔离 + 虚拟环境隔离 + 工具链隔离”的策略,为 FaceFusion 提供纯净、可复现的本地部署方案,并实现 GPU 加速。

📚 参考:​​​​

【EPGF 白皮书】路径治理驱动的多版本 Python 架构—— Windows 环境治理与 AI 教学开发体系

更进一步的路径精简方案:D:\A\envs —— 构建极简可控的 Anaconda 环境路径

  初代版本的非 Conda 环境部署方案

virtualenv嵌套conda绕开安装环境检测实现.venv部署facefusion


前置条件

【收藏级】Windows AI 本地开发「完全体」环境搭建清单

  • 操作系统:Windows 10/11(64 位)

  • Python 环境:建议已具备 Python 3.12 运行环境(可通过 Conda、pyenv 或官方安装包安装,本教程不依赖 Conda 管理依赖,只按 EPGF 架构,从 Conda 获得 Python 源)

  • 硬件要求:支持 CUDA 的 NVIDIA 显卡(需预装匹配驱动及 CUDA Toolkit ≥11.6,建议 CUDA 13.0 以获得最新 TensorRT 支持)

  • 工具依赖gitffmpeg 已安装并配置到系统环境变量

💡 提示:如果没有 Python 3.12,可先用 Conda 创建环境或使用官方安装包安装;本教程重点是环境隔离,而非强制依赖 Conda。


部署步骤(按顺序执行)

1. 克隆仓库并进入项目目录

拉取 FaceFusion 核心代码,准备项目基础文件:

git clone https://github.com/facefusion/facefusion.git
cd facefusion

2. 切换到 Python 3.12 环境(EPGF:版本隔离)

确保当前激活的 Python 版本为 3.12:

# Conda 示例(如使用 pyenv 或系统 Python,可跳过此步)
conda activate py312
python -V
# 预期输出:Python 3.12.x

3. 创建项目本地虚拟环境(EPGF:依赖隔离)

在项目目录中创建独立虚拟环境 .venv,确保依赖与系统/全局环境完全隔离:

python -m venv .venv# 激活虚拟环境(Windows CMD)
.venv\Scripts\activate.bat# PowerShell 需执行以下两步
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
.\.venv\Scripts\Activate.ps1# 退出 Conda 环境,彻底脱离对 Conda 的依赖
conda deactivate py312

💡 激活成功后,终端提示符应显示 (.venv),此后所有操作均在此虚拟环境中完成。


4. 升级基础打包工具(EPGF:工具链隔离)

升级 .vevn 中的 pipsetuptoolswheel,避免因版本过旧导致部署安装失败:

python -m pip install --upgrade pip setuptools wheel

5. 安装 PyTorch(GPU 版本)

PyTorch 的 CUDA GPU 支持 · 安装五条铁律(最新版 2025 修订)(适用于所有用户)

“100% 成功的 PyTorch CUDA GPU 支持” 安装攻略

FaceFusion 依赖 PyTorch,建议先安装最新支持 CUDA 的版本:

pip3 install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cu129

⚠️ 如果你的 CUDA 版本不同,请前往 PyTorch 官网 查询对应的 --index-url 并替换。


6. 安装 TensorRT(可选优化)

为了提升推理性能,可安装匹配 CUDA 13.0 的 TensorRT(需提前下载对应的 .whl 文件):

python -m pip install tensorrt-10.13.3.9-cp312-none-win_amd64.whl

详细步骤和跨版本维护方案可参考:Windows 安装 TensorRT 10.13.3.9(适配 CUDA 13.0)


7. 安装部署( CUDA GPU 加速支持 )

使用官方安装脚本部署 CUDA 版 ONNX Runtime,确保依赖安装到当前虚拟环境:

python install.py --onnxruntime cuda --skip-conda

参数说明

  • --onnxruntime cuda:安装支持 CUDA 的 ONNX Runtime(FaceFusion 推理核心)

  • --skip-conda:跳过 Conda 检查,强制安装到当前 .venv

  • --python install.py :自动安装 requirements.txt 及相关依赖

安装过程可能耗时 5–20 分钟,提示 Successfully installed 表示成功。


8. 启动 FaceFusion

完成依赖安装后,启动程序:

python facefusion.py run --open-browser
  • 默认打开浏览器访问 http://127.0.0.1:7860

  • 如不想自动打开浏览器,可用 python facefusion.py run

上传图片测试:

【笔记】Facefusion3.3.2 之 NSFW 检测屏蔽测试


部署验证

  1. 环境隔离验证
    在激活的虚拟环境中执行,再运行 where python\where torch 等关键依赖项,.venv 中的路径应位于首行位置,证明依赖调用于本地 .venv

  2. GPU 加速验证
    执行一次人脸融合任务,打开“任务管理器 → 性能 → GPU”,观察 GPU 利用率是否上升。

  3. 功能验证
    确认输出文件是否正常生成(默认路径:facefusion/output)。


常见问题与解决方案

问题现象可能原因解决方法
克隆仓库失败网络不稳定或未配置 git使用镜像仓库:git clone https://gitee.com/mirrors/facefusion.git
激活虚拟环境报权限不足PowerShell 脚本权限受限执行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,输入 Y 确认
安装依赖超时官方 PyPI 源访问慢使用镜像源:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
CUDA 不可用CUDA Toolkit 版本不匹配确认 CUDA Toolkit ≥11.6,并配置 CUDA_PATH 环境变量
TensorRT 安装失败CUDA / Python 版本不匹配参考官方兼容表下载对应版本

总结

本教程体现了 EPGF 架构的核心治理思想:

  • 版本隔离:通过 Conda/pyenv 精确切换 Python 版本

  • 依赖隔离:使用项目本地 .venv 保存依赖,保证可迁移性

  • 工具链隔离:仅升级必要工具,避免污染全局环境

  • 可复现部署:不依赖 Conda 管理依赖,可在其他机器快速复现

通过以上步骤,FaceFusion 能在纯净的本地环境中高效运行,并充分利用 GPU 和 TensorRT 加速能力。



文章转载自:

http://w5rvmyzE.xqndf.cn
http://aiLH7dCo.xqndf.cn
http://GIbvSdUF.xqndf.cn
http://lRs4izCT.xqndf.cn
http://ePxn7dB6.xqndf.cn
http://2heP3DJQ.xqndf.cn
http://T5pX2OtI.xqndf.cn
http://ABBCPSka.xqndf.cn
http://jhwKNooo.xqndf.cn
http://42P3ZdpB.xqndf.cn
http://t32zJDwW.xqndf.cn
http://nX5sfIXG.xqndf.cn
http://ycXdyD90.xqndf.cn
http://K2sS8yAk.xqndf.cn
http://aTE1Fkkj.xqndf.cn
http://E6xdjo6A.xqndf.cn
http://4bm6qzwk.xqndf.cn
http://50URAffv.xqndf.cn
http://cUrLt3ZO.xqndf.cn
http://ywGRQURZ.xqndf.cn
http://qHa1qwbB.xqndf.cn
http://QUezbLhI.xqndf.cn
http://Obtml6YB.xqndf.cn
http://yOWHAISf.xqndf.cn
http://Sci2VYsU.xqndf.cn
http://NYDFbqpG.xqndf.cn
http://WO1u4Mea.xqndf.cn
http://WPKIfmLm.xqndf.cn
http://7sAGfLoA.xqndf.cn
http://Bz610WQu.xqndf.cn
http://www.dtcms.com/a/384228.html

相关文章:

  • RabbitMQ 高级功能与优化篇
  • Node.js 高级应用:负载均衡与流量限制
  • Capistrano 让Ruby应用部署变得优雅又简单!
  • [计算机毕业设计]基于深度学习的噪声过滤音频优化系统研究
  • 02-Media-8-uvc_with_csc.py 使用硬件解码的USB摄像头(UVC)捕获视频并显示的程序
  • 【Java】P2 Java 学习路线与JVM、注释方法
  • 【论文阅读—智能驾驶】Diving Deeper Into Pedestrian Behavior Understanding
  • 【论文阅读】LG-VQ: Language-Guided Codebook Learning
  • AI摘桃记:精准率(P-Precision)、召回率(R-Recall)、F1-Score之争
  • 分布式专题——12 RabbitMQ之应用开发
  • 软件可靠性设计:高可用性架构实战——双机热备与集群技术
  • Mac 真正多显示器支持:TESmart USB-C KVM(搭载 DisplayLink 技术)如何实现
  • 鼠标光标消失、触摸板失灵?仅用键盘 3 步救回
  • 漏洞无效化学习
  • 蓝牙鼠标频繁卡顿?一招解决 Win10/11 的 USB 省电机制干扰问题
  • 吱吱企业即时通讯保障企业通讯安全,提升企业部门协作效率
  • 中宇联云计算SD-WAN的售后服务怎么样
  • 【矩阵局部最大值】2022-11-16
  • 矩阵的特征值与特征向量:定义、几何意义与在信号处理中的应用
  • RabbitMQ的文档介绍及使用
  • Python对象序列化完全指南:从基础到高级实战
  • 机器学习实战项目中,回归与分类模型中该如何科学定义目标变量Y?
  • 【Docker】docker容器的使用
  • 【Pywinauto库】13.3 pywinauto.xml_helpers内部模块
  • vue3 基本教程-运行一个最小demo
  • [JavaWeb]在学习Servlet的过程中一个经典面试题
  • 安全测试技能 | web、app、PC应用测试面试题梳理
  • 金融数据--集思录可转债等权指数
  • ruoyi分布式在module下新建服务排坑指南
  • prometheus-2.42.0.linux-amd64.tar.gz 安装配置展示