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/binsudo rm ./python # 删除原有的软连接文件
sudo rm ./pip
sudo rm ./pip3sudo 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/pip3python -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 updatesudo apt-get install ffmpegpip install --upgrade pippip 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.rhkb.cn/news/235978.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于css实现动画效果

介绍 本文将会基于css&#xff0c;实现各种动画效果&#xff0c;接下来会从简单几个例子入手。 案例 三颗球 <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8" /><title>React App</title><style>…

初识Hadoop-概述与关键技术

一.大数据概述 1.什么是大数据 高速发展的信息时代&#xff0c;新一轮科技革命和变革正在加速推进&#xff0c;技术创新日益成为重塑经济发展模式和促进经济增长的重要驱动力量&#xff0c;而“大数据”无疑是核心推动力。 那么&#xff0c;什么是“大数据”呢&#xff1…

0基础学习VR全景平台篇第137篇:720VR全景,DJI无人机遥控器调参

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 这节课以御2为例 介绍的是无人机调参 步骤一&#xff1a;下载DJI Go 4并注册账号 步骤二&#xff1a;拿下遥杆并装好&#xff0c;展开遥控天线。将无人机与遥控器相连&#xff…

Elasticsearch倒排索引详解

倒排索引&#xff1a; 组成 term index(词项索引 &#xff0c;存放前后缀指针) Term Dictionary&#xff08;词项字典&#xff0c;所有词项经过文档与处理后按照字典顺序组成的一个字典&#xff08;相关度&#xff09;&#xff09; Posting List&#xff08;倒排表&#xf…

conda环境下cannot write keep file问题解决

1 问题描述 conda环境下执行如下命令报错&#xff1a; pip install githttps://github.com/wenet-e2e/wenet.git 错误信息如下&#xff1a; (pt) PS D:\code\ptcontainer> pip install githttps://github.com/wenet-e2e/wenet.git Looking in indexes: http://pypi.doub…

锤科HandShaker修改版,支持安卓14、澎湃OS

如今几乎各家手机厂商都在布局生态&#xff0c;但PC端往往是最容易被忽略的一环&#xff0c;哪怕是很强的华为鸿蒙、小米澎湃&#xff0c;想要做到手机和电脑互联&#xff0c;也限制了笔记本机型 虽然我一直致力于解锁非小米电脑安装小米电脑管家&#xff0c;比如前几天刚刚更…

UniApp调试支付宝沙箱(安卓)

先看下这里完整的交互的图&#xff1a;小程序文档 - 支付宝文档中心 一、打包 不管怎样&#xff0c;先打个包先。可以直接使用云端证书、云端打包&#xff0c;只需要指定包名即可。 二、在支付宝开放平台创建应用 这个参考官方的过程就可以了&#xff0c;只要有刚才打的包&…

MySQL安装部署-单机版

MySQL是关系型数据库&#xff0c;本文主要描述在操作系统Linux CentOS 7下安装MySQL Server 8.035单机版本。 https://dev.mysql.com/downloads/mysql/ 如上所示&#xff0c;从MySQL官方网站下载开源社区版本MySQL Server 8.035的最新稳定版本&#xff0c;该版本是对应Linux …

计算机网络-2019期末考试解析

【前言】 从内容上看比较像计算机网络课程了&#xff0c;先做了。 一&#xff0e;填空选择题&#xff08;共 20 分&#xff0c;每空 1 分&#xff09; 1 、双绞线由两根相互绝缘的、绞合成均匀的螺纹状的导线组成&#xff0c;下列关于双绞线的叙述&#xff0c;不正确的是___ __…

Mysql——索引相关的数据结构

索引 引入 我们知道&#xff0c;数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快&#xff0c;因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找&#xff08;linear search&#xff09;&#xff0c;这种复杂度为…

2023年全国职业院校技能大赛软件测试赛题—单元测试卷⑨

单元测试 一、任务要求 题目1&#xff1a;根据下列流程图编写程序实现相应分析处理并显示结果。返回文字“xa*a*b的值&#xff1a;”和x的值&#xff1b;返回文字“xa-b的值&#xff1a;”和x的值&#xff1b;返回文字“xab的值&#xff1a;”和x的值。其中变量a、b均须为整型…

XCTF:MISCall[WriteUP]

使用file命令&#xff0c;查看该文件类型 file d02f31b893164d56b7a8e5edb47d9be5 文件类型&#xff1a;bzip2 使用bzip2命令可对该文件进行解压 bzip2 -d d02f31b893164d56b7a8e5edb47d9be5 生成了一个后缀为.out的文件 再次使用file命令&#xff0c;查看该文件类型 file…

SCI一区级 | Matlab实现RIME-CNN-LSTM-Mutilhead-Attention多变量多步时序预测

SCI一区级 | Matlab实现RIME-CNN-LSTM-Mutilhead-Attention多变量多步时序预测 目录 SCI一区级 | Matlab实现RIME-CNN-LSTM-Mutilhead-Attention多变量多步时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现RIME-CNN-LSTM-Mutilhead-Attention霜冰算法…

【Scala】——变量数据类型运算符

1. 概述 1.1 Scala 和 Java 关系 1.2 scala特点 Scala是一门以Java虚拟机&#xff08;JVM&#xff09;为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言&#xff08;静态语言需要提前编译的如&#xff1a;Java、c、c等&#xff0c;动态语言如&#…

Ncast盈可视 高清智能录播系统 IPSetup.php信息泄露+RCE漏洞复现(CVE-2024-0305)

0x01 产品简介 Ncast盈可视 高清智能录播系统是广州盈可视电子科技有限公司一种先进的音视频录制和播放解决方案,旨在提供高质量、高清定制的录播体验。该系统采用先进的摄像和音频技术,结合强大的软件平台,可以实现高清视频录制、多路音频采集、实时切换和混音、定制视频分…

自创C++题目——星号三角阵(三)

预估难度 简单 题目描述 当时&#xff0c;输出&#xff1a; ** ** * * * * * * 样例数据 input&#xff1a; 5 output&#xff1a; ** ** * ** * * * * * * * *

大模型学习与实践笔记(五)

一、环境配置 1. huggingface 镜像下载 sentence-transformers 开源词向量模型 import os# 设置环境变量 os.environ[HF_ENDPOINT] https://hf-mirror.com# 下载模型 os.system(huggingface-cli download --resume-download sentence-transformers/paraphrase-multilingual-…

JQuery异步加载表格选择记录

JQuery异步加载表格选择记录 JQuery操作表格 首先在页面中定义一个表格对象 <table id"insts" class"table"><thead><tr><th>列1</th><th>列2</th><th>例3</th><th></th></tr>…

C++ 数组分页,经常有用到分页,索性做一个简单封装 已解决

在项目设计中&#xff0c; 有鼠标滑动需求&#xff0c;但是只能说能力有限&#xff0c;索性使用 php版本的数组分页&#xff0c;解决问题。 经常有用到分页&#xff0c;索性做一个简单封装、 测试用例 QTime curtime QTime::currentTime();nHour curtime.hour();nMin curtim…

leetcode动态规划(零钱兑换II、组合总和 Ⅳ)

518.零钱兑换II 给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。 示例 1: 输入: amount 5, coins [1, 2, 5] 输出: 4 解释: 有四种方式可以凑成总金额: 55 5221 52111 511111 示例 2: 输入: amount 3, coi…