Linux 部署 AI 换脸

我使用的系统是 Ubuntu 20.04

文章实操主要分为以下几个部分

1、python 环境安装

2、下载 FaceFusion 上传服务器

3、创建 python 虚拟环境

4、下载 FaceFusion 依赖(这里的命令执行时间会很长,够你睡午觉了)

5、运行 FaceFusion

6、开放端口或nginx代理转发实现外部访问 FaceFusion(首选端口访问)

0、我为什么部署 AI 换脸?

因为内心可爱心地善良,一方面没搞过这玩意,这几天也在折腾 huggingface 的一些玩意,然后也想要有兴趣折腾一下 AI 换脸,顺便还帮助了别人积攒了功德

视频教程参考**(该视频里面包含 window 安装和 FaceFusion 使用教程)**

https://player.bilibili.com/player.html?bvid=BV1mN411v78C\&autoplay=0

2、ubuntu 安装 python 3.10.6

参考文章:https://blog.csdn.net/weixin_46584887/article/details/120701003(我是跟着这篇文章来安装的哦)

python 3.10.6 下载地址:https://www.python.org/ftp/python/3.10.6/

考虑到网络问题,提供一个百度网盘下载渠道:https://pan.baidu.com/s/1fYRf-cHbj5lHR-1HQcx0Fg?pwd=29wl

上传服务器,解压压缩包,我上传到了 /www/wwwroot 目录下

进入解压目录下

设置编译参数:./configure --prefix=/usr/local/python3.10

实施编译:make

编译完成后安装:sudo make install

上面这两个命令执行时间会比较长,会有大量输出,要等待几分钟是正常的,最后输出以下内容表示安装成功

设置软连接

这一步即让我们的 python 命令能够链接到我们新安装的 Python3.10.0 的执行程序而不是更低的版本,我们首先进入到 /usr/bin 目录下:

shell 复制代码
cd /usr/bin

sudo rm ./python # 删除原有的软连接文件
sudo rm ./pip
sudo rm ./pip3

sudo ln -s /usr/local/python3.10/bin/python3.10 /usr/bin/python
sudo ln -s /usr/local/python3.10/bin/pip3.10 /usr/bin/pip
sudo ln -s /usr/local/python3.10/bin/pip3.10 /usr/bin/pip3

python -V
Last login: Thu Oct 19 15:44:05 2023 from 127.0.0.1
ubuntu@VM-0-6-ubuntu:~$ cd /usr/bin
ubuntu@VM-0-6-ubuntu:/usr/bin$ ll | grep python
lrwxrwxrwx  1 root   root          35 Oct 19 15:33 btpython -> /www/server/panel/pyenv/bin/python3
lrwxrwxrwx  1 root   root          60 Feb 18  2020 depythontex -> ../share/texlive/texmf-dist/scripts/pythontex/depythontex.py*
-rwxr-xr-x  1 root   root        1056 Apr 16  2018 dh_python2*
-rwxr-xr-x  1 root   root        2336 Jun  1  2021 dh_python3-ply*
lrwxrwxrwx  1 root   root          23 Jul  1  2022 pdb2.7 -> ../lib/python2.7/pdb.py*
lrwxrwxrwx  1 root   root          23 Mar 13  2023 pdb3.8 -> ../lib/python3.8/pdb.py*
lrwxrwxrwx  1 root   root          31 Mar 13  2020 py3versions -> ../share/python3/py3versions.py*
lrwxrwxrwx  1 root   root          18 Jul 23  2020 python -> /usr/bin/python3.8*
lrwxrwxrwx  1 root   root           9 Apr 16  2018 python2 -> python2.7*
-rwxr-xr-x  1 root   root     3662032 Jul  1  2022 python2.7*
lrwxrwxrwx  1 root   root           9 Mar 13  2020 python3 -> python3.8*
-rwxr-xr-x  1 root   root     5494552 Mar 13  2023 python3.8*
-rwxr-xr-x  1 root   root         152 Apr 10  2020 python3-pbr*
-rwxr-xr-x  1 root   root         384 Dec 17  2019 python3-unit2*
lrwxrwxrwx  1 root   root           9 Apr 16  2018 python_bk -> python2.7*
lrwxrwxrwx  1 root   root          58 Feb 18  2020 pythontex -> ../share/texlive/texmf-dist/scripts/pythontex/pythontex.py*
lrwxrwxrwx  1 root   root          29 Apr 16  2018 pyversions -> ../share/python/pyversions.py*
ubuntu@VM-0-6-ubuntu:/usr/bin$ sudo rm ./python # 删除原有的软连接文件
ubuntu@VM-0-6-ubuntu:/usr/bin$ sudo rm ./pip
ubuntu@VM-0-6-ubuntu:/usr/bin$ sudo rm ./pip3
ubuntu@VM-0-6-ubuntu:/usr/bin$ sudo ln -s /usr/local/python3.10/bin/python3.10 /usr/bin/python
ubuntu@VM-0-6-ubuntu:/usr/bin$ sudo ln -s /usr/local/python3.10/bin/pip3.10 /usr/bin/pip
ubuntu@VM-0-6-ubuntu:/usr/bin$ sudo ln -s /usr/local/python3.10/bin/pip3.10 /usr/bin/pip3
ubuntu@VM-0-6-ubuntu:/usr/bin$ python -V
Python 3.10.6

大功告成,安装成功!

3、下载项目上传服务器

Github:https://github.com/facefusion/facefusion

百度网盘快速下载渠道:https://pan.baidu.com/s/1X6le_FMktS9Ra0aC9QYeWA?pwd=gpqf

下载完成后上传到服务器合适目录下解压(我上传到了 /www/wwwroot 下)

4、正式开始

创建虚拟环境(也可以不加,建议加)

python -m venv venv

source venv/bin/activate # 激活虚拟环境

启动,跟着步骤执行命令就完事,你说命令无法执行?那就在前面加上 sudo
shell 复制代码
sudo apt-get update

sudo apt-get install ffmpeg

pip install --upgrade pip

pip install -r requirements.txt # 这里安装了很久,我去睡了一觉

python install.py --torch cuda --onnxruntime cuda
运行
shell 复制代码
python run.py --execution-providers cuda # 断开 ssh 程序中断

python run.py --execution-providers cuda & # 断开 ssh 后程序保持运行

python run.py --execution-providers cuda > output.log 2>&1 &

# 到了这里你可能与我一样遇到了一个报错,接着往下看,会解决的
Frame processor frame_enhancer could not be loaded
报错问题解决

Frame processor frame_enhancer could not be loaded

怎么解决呢?

1、找到名为 face_enhancer.py 的文件,该文件位于 facefusion\processors\frame\modules\目录中

2、将 face_enhancer.py 文件移动到 facefusion 目录中,也就是说,它不再位于 modules 子目录内。

是的,只要完成以上两步,然后重新运行一下就可以了。

我是怎么一步步找到解决这个错误的?

我分别去 google 和 edge 搜索了,但是并没有直接的答案,在一处回答中有网友推荐加入 discord 来请求解答问题,然后我就进去了(作者有在 github 文档中放加入 discord 的链接:https://github.com/facefusion/facefusion)(这段时间我还折腾其他方式,重装环境、系统等等都没成功,不过也没折腾那么多,更多时间实在等待)

刚开始在频道各个模块搜索,不过没有找到合适的解决方案

最后选择直接在 linux 模块询问,里面的老外也挺好的,看到问题就会回复,最后就是在大佬的帮助下解决。

怎么交流的,会英语?不会,通过网易有道翻译来交流的,hhhhhhh

怎么访问到 ui 呢?

有两种方式:

1、打开端口 7860,直接【ip:端口】来访问**(建议直接使用这种方式,省得多配置其他东西)**

2、域名解析,配置 nginx 转发来访问**(我使用这种)**

为什么使用方式二呢?

因为第一种方式我没有折腾成功就懒得折腾了,我在腾讯云打开了端口,在宝塔也打开了端口但就是没有效果,所以就直接做了域名解析 nginx 代理转发来访问。

然后我就遇到了新问题,连接超时,自己修改 nginx 配置,但是没有成功...有解决则会个问题的老哥麻烦在评论区分享一下~

相关推荐
程序员JerrySUN3 分钟前
Linux内核驱动开发核心问题全解
linux·运维·驱动开发
里昆4 分钟前
【AI】Jupyterlab中打开文件夹的方式
人工智能·学习
图灵学术计算机论文辅导4 分钟前
特征融合+目标检测!3篇CVPR新作把多模态目标检测拉高10个mAP
论文阅读·人工智能·考研·机器学习·计算机视觉·目标跟踪·信息与通信
灬爱码士灬6 分钟前
Open CV图像基本操作可莉版
人工智能·opencv·计算机视觉
EulerBlind9 分钟前
【运维】HuggingFace缓存目录结构详解
运维·深度学习
天天找自己24 分钟前
图像梯度处理与边缘检测
人工智能·计算机视觉
POLOAPI40 分钟前
AI大模型成本为何能降低99%?技术突破背后的秘密是什么?
人工智能
静心问道44 分钟前
CacheGen:用于快速大语言模型推理服务的 KV 缓存压缩与流式传输
人工智能·模型加速·ai技术应用·缓存压缩与传输
小子阿四44 分钟前
WaveSpeedAI是世界上第一个接Wan 2.2 API的平台
人工智能·aigc
幻雨様1 小时前
UE5多人MOBA+GAS 30、技能升级机制
运维·服务器·ue5