Linux 部署 AI 换脸

2024-04-10 1993阅读

我使用的系统是 Ubuntu 20.04

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

1、python 环境安装

2、下载 FaceFusion 上传服务器

3、创建 python 虚拟环境

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

5、运行 FaceFusion

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

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

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

Linux 部署 AI 换脸

Linux 部署 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/

Linux 部署 AI 换脸

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

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

进入解压目录下

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

实施编译:make

编译完成后安装:sudo make install

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

Linux 部署 AI 换脸

设置软连接

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

Python
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 下)

Linux 部署 AI 换脸

4、正式开始

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

python -m venv venv

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

启动,跟着步骤执行命令就完事,你说命令无法执行?那就在前面加上 sudo
Python
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
运行
Python
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 部署 AI 换脸

Linux 部署 AI 换脸

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

Linux 部署 AI 换脸

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

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

Linux 部署 AI 换脸

怎么访问到 ui 呢?

Linux 部署 AI 换脸

有两种方式:

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

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

为什么使用方式二呢?

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

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

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]