前提条件
- Windows 10/11
- NVIDIA显卡(系统变量中需要有cuda,否则只能使用cpu版本)
- 科学上网环境(用于加速下载)
1. 安装基础软件
打开管理员权限的命令行窗口,依次执行:
# 安装FFmpeg
winget install -e --id Gyan.FFmpeg
# 安装Miniconda
winget install -e --id Anaconda.Miniconda3 --override "/AddToPath=1"
# 安装编解码器
winget install -e --id CodecGuide.K-LiteCodecPack.Basic
2. 配置Conda环境和下载源码
关闭之前的命令行窗口,打开新的命令行窗口:
# 创建conda环境
conda create -n facefusion python=3.10
# 激活环境
conda activate facefusion
# 克隆项目(选择合适的目录)
cd D:\facefusion
git clone https://github.com/facefusion/facefusion.git
cd facefusion
3. 设置代理并安装依赖
# 设置代理(根据实际情况修改端口)
set HTTP_PROXY=http://127.0.0.1:2081
set HTTPS_PROXY=http://127.0.0.1:2081
# 安装CUDA版本
python install.py --onnxruntime cuda
4. 安装对应版本的cuDNN
- 查看当前onnxruntime版本:
pip list | findstr onnxruntime
在 ONNX Runtime CUDA要求文档 中查找对应的cuDNN版本要求
安装对应版本的cuDNN:
# 以下是示例,版本号需要根据实际情况调整
conda install -c conda-forge cudnn=9.3.0.75
- 重新运行安装命令:
python install.py --onnxruntime cuda
5. 下载模型文件
保持代理开启状态:
python facefusion.py run
等待所有模型文件下载完成,下载完成后可能会报错,这里的报错的原因是代理没有关闭。
6. 正式运行
- 关闭代理软件并且清除环境:
set HTTP_PROXY=
set HTTPS_PROXY=
- 重新运行程序:
python facefusion.py run
- 在指定端口和ip运行程序: 修改facefusion/uis/layouts/default.py(run函数在文件末尾位置)
def run(ui : gradio.Blocks) -> None:
ui.launch(
favicon_path = 'facefusion.ico',
inbrowser = state_manager.get_item('open_browser'),
server_name = '0.0.0.0', # 添加这行
server_port = 7860, # 添加这行
share = False # 可选,确保不会使用gradio的公共链接
)
然后再运行程序
python facefusion.py run
WebUI使用说明
- SOURCE:放置源头像(你想替换成谁的脸)
- TARGET:放置目标图片/视频(要被替换的人的图片/视频)
- 确保EXECUTION PROVIDERS中选择了CUDA
- 第一次使用建议只开启face_swapper功能
- 推荐先用简单的正面照片测试效果
评论区