Linux 部署 AI 换脸

我使用的系统是 Ubuntu 20.04

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

1、python 环境安装

2、下载 FaceFusion 上传服务器

3、创建 python 虚拟环境

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

5、运行 FaceFusion

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

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

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

img

img

视频教程参考**(该视频里面包含 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/

img

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

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

进入解压目录下

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

实施编译:make

编译完成后安装:sudo make install

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

img

设置软连接

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

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

img

4、正式开始

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

python -m venv venv

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

启动,跟着步骤执行命令就完事,你说命令无法执行?那就在前面加上 sudo
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 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)(这段时间我还折腾其他方式,重装环境、系统等等都没成功,不过也没折腾那么多,更多时间实在等待)

img

img

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

img

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

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

img

怎么访问到 ui 呢?

img

有两种方式:

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

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

为什么使用方式二呢?

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/304067.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python 自学(七) 之面向对象

目录 1. 类的初始化函数 __init__ P186 2. 动态的为类和对象添加属性 P190 3. 类的访问限制 __xxx P192 4. 类的继承及方法重写 P197 1. 类的初始化函数 __init__ P186 每当创建一个类的实例时,__init__都会被执…

离线安装harbor:使用docker-compose方式

目录 一、安装docker二、安装docker-compose1、下载docker-compose2、安装docker-compose3、验证安装效果 三、安装harbor1、下载harbor2、解压harbor3、修改harbor.yml4、安装harbor5、修改docker配置文件6、配置harbor自启动 四、登录harbor五、测试harbor1、测试在linux上登…

行云部署成长之路 -- 慢 SQL 优化之旅 | 京东云技术团队

当项目的SQL查询慢得像蜗牛爬行时,用户的耐心也在一点点被消耗,作为研发,我们可不想看到这样的事。这篇文章将结合行云部署项目的实践经验,带你走进SQL优化的奇妙世界,一起探索如何让那些龟速的查询飞起来!…

使用Redhat操作系统下载MySQL

一、本地下载安装 方法一 ①在虚拟机火狐浏览器中搜索MySQL官网(选择第一个下载) ②下载完毕使用xshell远程连接解压及安装 [rootlocalhost ~]# cd /Downloads/ [rootlocalhost Downloads]# mkdir /mysql/ [rootlocalhost Downloads]# mv mysql-8.0.3…

北斗短报文技术在灾区通讯救援中的应用与价值

北斗短报文技术在灾区通讯救援中的应用与价值 随着全球化的进程和科技的快速发展,人类社会在取得巨大经济成果的同时,也面临了许多自然灾害的挑战。地震、洪水、台风等天灾频繁发生,严重威胁着人们的生命财产安全。灾害发生时,及…

视频AI智剪方法:快速批量处理视频,批量剪辑视频的操作

随着科技的飞速发展,视频内容已是获取信息和娱乐的主要方式之一。对于视频创作者和内容生产者来说,如何快速、高效地处理和剪辑大量视频已成为一项重要的需求。现在借助AI技术的不断发展,可以更加智能、高效的处理视频。下面来看云炫AI智剪如…

深度学习:图神经网络——在推荐系统中的应用

PinSage是工业界应用图神经网络完成推荐任务的第一个成功案例,其从用户数据中构造图(graph)的方法和应对大规模图而采取的实现技巧都值得我们学习。PinSage被应用在图片推荐类Pinterest上。在Pinterest中,每个用户可以创建并命名图…

【angular教程240105】02绑定属性 绑定数据、条件判断、加载图片、【ngClass】 【ngStyle】、Angular管道

【angular】02绑定属性 绑定数据、条件判断、加载图片、【ngClass】 【ngStyle】、Angular管道 0 一些基础的概念 标记为可注入的服务 在Angular中,一个服务是一个通常提供特定功能的类,比如获取数据、日志记录或者业务逻辑等。标记为可注入的服务意味着…

推荐 5 款强大好用的日志管理工具

日志管理是现代 IT 环境中不可或缺的一部分,它有助于监视和维护应用程序、系统和网络的正常运行,帮助诊断问题,追踪事件以及确保安全性。 在日志管理领域,有不少功能强大的工具,本文将为你介绍这些工具。 1、Graylog …

Vue2:通过ref获取DOM元素

一、场景描述 我们在页面的开发过程中&#xff0c;经常需要操作dom元素&#xff0c;来实现我们需要的效果。 以往js中&#xff0c;我们是通过给dom添加id&#xff0c;然后&#xff0c;通过js代码document来获取这个dom 简写代码案例&#xff1a; <h2 id"test"&…

Mysql之子查询、连接查询(内外)以及分页查询

目录 一.案例&#xff08;接上篇博客&#xff09; 09&#xff09;查询学过「张三」老师授课的同学的信息 10&#xff09;查询没有学全所有课程的同学的信息 11&#xff09;查询没学过"张三"老师讲授的任一门课程的学生姓名 12&#xff09;查询两门及其以上不及格课程…

【数据结构】栈的基本知识详解

栈的基本概念与基本操作 导言一、栈的基本概念1.1 栈的定义1.2 栈的重要术语1.3 栈的数学性质 二、栈的基本操作结语 导言 大家好&#xff0c;很高兴又和大家见面了&#xff01;&#xff01;&#xff01; 今天开始&#xff0c;咱们将正式进入【数据结构】第三章的内容介绍。在…

第二证券:主力为什么要砸盘?

砸盘就是在股票的某个阶段有许多卖出单&#xff0c;这些许多的卖出单不断的成交使股票价格出现快速下跌。一般是受到主力资金洗盘或者出货所影响形成的。 1、洗盘 个股通过长时间上涨之后&#xff0c;盘中的散户较多&#xff0c;主力为了洗掉盘中的散户&#xff0c;在低位吸筹…

nodejs+vue+ElementUi音乐分享社交网站77l8j

本文介绍的系统主要分为两个部分&#xff1a;一是前台界面&#xff1a;用户通过注册登录可以实现音乐播放、新闻浏览、留言评论等功能&#xff1b;另一个是后台界面&#xff1a;音乐网站管理员对用户信息进行管理&#xff0c;上传更新音乐资源&#xff0c;发布最新音乐资讯等功…

SpringBoot 中 @Transactional 注解的使用

一、基本介绍 事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。本篇只说明声明式注解。 1、在 spring 项目中, Transactional 注解默认会回滚运行时异常及其子类&#xff0c;其它范…

目标检测再升级!YOLOv8模型训练和部署

YOLOv8 是 Ultralytics 开发的 YOLO&#xff08;You Only Look Once&#xff09;物体检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最先进的SOTA模型&#xff0c;它建立在先前YOLO成功基础上&#xff0c;并引入了新功能和改进&#xff0c;以进一步提升性能和灵活性。它可…

揭秘阿里自研搜索引擎 Havenask 在线检索服务

作者&#xff1a;谷深 Havenask 是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎&#xff0c;深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内几乎整个阿里的搜索业务。本文针对性介绍了 Havenask 的在线服务&#xff0c;它具备高可用、高时效、低成本的优势&#xff0c;…

【软考中级-软件设计师】day4:数据结构-线性表、单链表、栈和队列、串

大纲 线性结构 顺序存储和链式存储区别 单链表的插入和删除 真题 栈和队列 真题 串

微创新与稳定性的权衡

之前做过一个项目&#xff0c;业务最高峰CPU使用率也才50%&#xff0c;是一个IO密集型的应用。里面涉及一些业务编排&#xff0c;所以为了提高CPU使用率&#xff0c;我有两个方案&#xff1a;一个是简单的梳理将任务可并行的采用并行流、额外线程池等方式做并行&#xff1b;另外…

2019年认证杯SPSSPRO杯数学建模A题(第一阶段)好风凭借力,送我上青云全过程文档及程序

2019年认证杯SPSSPRO杯数学建模 纸飞机在飞行状态下的运动模型 A题 好风凭借力&#xff0c;送我上青云 原题再现&#xff1a; 纸飞机有许多种折法。世界上有若干具有一定影响力的纸飞机比赛&#xff0c;通常的参赛规定是使用一张特定规格的纸&#xff0c;例如 A4 大小的纸张…