AI换脸FaceFusion一键云部署指南

大家好,从我开始分享到现在,收到很多朋友的反馈说配置很低玩不了AI。本篇是一个云端部署AI项目的指南,帮助大家在云端进行AI项目的部署。我会从云平台的选择、代码部署、保存镜像几个方面进行详细的介绍。没有代码基础的小白也不用担心,我已经制作好了镜像,你们可以一键部署就可以在云端使用啦。

视频教程:

【FaceFusion云端部署指南(保姆级)】 https://www.bilibili.com/video/BV1es421g77P/?share_source=copy_web&vd_source=09316244e4ff3a9793930d67cf748288

选择云平台

国内外有许多GPU算力平台提供服务,例如国内的阿里云、腾讯云、百度飞桨、AutoDL、仙宫云,以及国外的kaggle Kernel、Google Colaboratory、亚马逊AWS等。

尽管这些平台的部署流程大体相似,但具体细节各有不同。

在准备本期内容时,我尝试了AutoDL和仙宫云这两个GPU平台来部署AI项目。最终选择使用仙宫云部署。

在过去的项目中,我也使用过阿里云、Google Colaboratory和亚马逊AWS的服务来部署AI项目。
 

有两种方法:

第一种是使用我已经制作好的镜像包,直接使用。(适合小白、想快速使用的朋友)

第二种是自行部署。(适合有代码基础,想尝试的朋友)

使用镜像包

第一种方法,使用我已经制作完成的云端镜像包。

登录注册仙宫云

官网

直接找到我公开的镜像链接,点击部署。一键镜像

选择4090这个配置。

确认镜像,点击确认部署。

可以看到正在部署。耐心等待

部署完毕,点击仙宫云OS

进入主界面,默认FaceFusion服务已经启动好了。

直接双击桌面上的这个文件,打开FaceFusion的主窗口。

FaceFusion主窗口

这是打开FaceFusion的界面,关掉该界面后,程序还会执行。

输出目录

双击打开FaceFusion的输出目录

日志

点击桌面上的日志查看执行时的信息。

重启

双击重启FaceFusion程序,当你清除缓存后记得重启下FaceFusion才能执行。

上传图片/视频

关于上传,你可以将本地的图片或者视频直接拖拽到该界面上,非常方便。

下载

生成好的视频/图片点击下载按钮下载到本地。

自行部署镜像

官网

首先进入仙宫云的官网,点击部署GPU计算容器

这里选择你想要部署的机器配置。

配置服务

这里需要对GPU服务器进行一些配置。

系统盘:GPU服务器储存空间大小。默认100G,这里对于我们部署的AI项目已经够用。可扩容,会更贵些。

GPU数量:服务器的显卡数量,默认一个显卡,最高可选3张4090进行渲染,速度会更快。关于多卡渲染这里我不过多描述,感兴趣的话我后面可以出一篇教程。

镜像类型:

这里有三种镜像。

公共镜像:仙宫云官方提供的镜像。

社区镜像:其他用户制作并上传 的镜像。

私有镜像:自己制作的镜像。

由于我们是从零开始部署,所以选择公共镜像。

基础镜像选择Miniconda3,python版本选择3.10,CUDA版本选择11.8

剩下的SSH密钥和挂载云储存我们这里用不到,保持默认即可。

计费方式根据自己的需求来。

以上都设置完毕后,点击确认部署

拉取源码

来到控制台可以看到服务正在创建

等待实例创建完毕后

点击应用这一栏的Jupyter

点击后会跳转到Jupyter的操作面板,我们在这里进行部署

启动页中选择终端

进入到终端命令行中

第一步需要拉取FaceFusion在Github上的源代码。由于你懂的的网络原因,需要为当前终端开启学术加速。

开启学术加速

. /accelerate/start

接下来从Git上拉取代码

git clone https://github.com/facefusion/facefusion

拉取完我们可以在左侧看到FaceFusion的文件夹

创建虚拟环境

输入cd facefusion进入这个目录

cd facefusion

使用conda创建python虚拟环境

conda create --name Dlab python=3.10

会弹出确认选项

输入y按回车

创建完毕,一个基础的虚拟环境就创建好了。

激活刚才创建的虚拟环境。

conda activate Dlab

激活后可以看到之前的base变为了Dlab

安装依赖

运行install.py脚本

python install.py

这里会出现选项框,选择要安装的onnxruntime版本

我们刚才创建服务时选择的是cuda版本是11.8,所以这里也选择对应的版本。键盘方向键上下进行选择,按回车确认。

耐心等待会儿

安装完毕

问题解决

libgl1问题

接下来运行看下

python run.py

出现libGL.so.1错误,这是因为我们的镜像中默认是不包含libgl1这个库的。

解决方法,手动安装,接着输入

apt-get install libgl1-mesa-dev

输入y后按回车继续执行

等待....

安装完毕

FFmpeg问题

再次输入运行命令,发现还有个报错,这个原因是FFMpeg库未安装。

python run.py

直接在conda内安装

conda install ffmpeg

输入y后按回车

安装完毕

成功运行

再再再再次输入运行命令

python run.py

成功执行!

现在我们直接访问这个网址是打不开的,因为这是一个本地链接,我们需要访问仙宫云上映射的网址。

来到容器管理页面,点击WebUI

会跳转到一个错误的网页,显示无法进入,不要慌,这是正常现象,因为我们的服务启动的端口不一样,仙宫云默认是80端口。

在浏览器中找到当前打开的网页链接。

把这个80改为7860,再次访问。

访问成功

用图片进行了测试,可以换脸。

上传模型

恭喜你!到这里已经成功了一大半了!接下来需要将FaceFusion所需要的所有模型都下载下来。

FaceFusion官方提供的脚本中即使是开了学术加速,下载模型的速度也不如人意。为了节约宝贵的时间,这里我们使用网盘的方式进行下载。(我已经将所有资料都放入网盘链接内)

来到仙宫云容器实例这里,选择仙宫云OS,点击打开。

可以看到我们进入了类似电脑桌面的界面。

进入桌面的百度网盘

这里需要授权下。

授权成功后找到我们网盘内存储的压缩包

右键复制

打开系统磁盘,进入系统磁盘/root/facefusion/.assets这个目录

粘贴网盘文件

右下角是进度条,耐心等待

完毕后文件夹内如下

将models文件夹右键--移至回收站(这个models文件夹是刚才我们部署好后下载的基础换脸模型,从网盘下载的压缩包内已经包含这些基础模型,所以将这个文件夹删除)

双击models.zip进行解压

等待解压

解压完毕

新解压的models文件夹里包含了所有的模型

最后你可以把models.zip压缩包删除了,因为这会占用你的空间,后面会说到。

重启服务

由于我们现在FaceFusion已经启动,我们模型上传后需要重新启动下FaceFusion。

回到Jupyter页面

点击这个图标进入管理页面。

可以看到当前运行的终端。

点击全部关闭。

然后我们重新打开终端页面

重新激活conda环境

conda activate Dlab

然后运行run脚本,这里与之前不一样的是,我加了--skip-download(跳过下载)参数。因为我们模型都已经安装完毕,不需要再走一遍下载。

python run.py --skip-download

启动完毕后还是进入刚才的7860网页查看,成功运行。

完美运行

再次测试,这次多勾选了高清修复、脸部修复。(如果你没有执行上面的模型安装步骤,是不能开启脸部修复和高清修复的,会提示没找到模型)

可以看到预览里的效果完美。

其他的操作方法跟本地版本的是一样的。如果你想对这个FaceFusion进行更多修改,请往下看。

其他修改

修改中文界面

进入系统磁盘/root/facefusion中

删除facefusion文件夹

将网盘内的facefusion.zip拷贝到这里,并解压

解压后再次重启FaceFusion服务即可。

再次进入到页面,界面已经全部变成中文的啦。

写在最后

恭喜你,看到这里,已经可以自己在云端部署FaceFusion了!记得用的时候关闭实例,保存镜像!

总结下,本篇教程我使用的是仙宫云服务,部署的时候会有个小“坑”——libgl1问题。在使用仙宫云之前我在AutoDL上也部署过,不会出现像libgl1问题这个“坑”,所以不同的GPU服务平台的问题有可能会不一样,但是流程都相同。

关于本篇用到的模型与命令可在公众号内回复【脸资料】获取。无套路!

最后希望这篇文章对你有帮助!感谢你的阅读!

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

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

相关文章

QT系列教程(6) 几种标准对话框

几种标准对话框 本文介绍几种标准对话框,都是Qt封装好的,我们先创建一个界面,添加几个按钮,然后分别在几个按钮的回调函数里添加创建不同对话框的逻辑 颜色对话框 颜色对话框用来选择颜色,创建后会显示各种颜色和透明…

神经网络-------人工神经网络

一、什么是神经网络和神经元 人工神经网络(英语:Artificial Neural Network,ANN),简称 神经网络(Neural Network,NN)或 类神经网络,是一种模仿生物神经网络(…

扫描文件怎么扫描的?

这里的扫描通常可能有二种解释:一种是只是将物品通过扫描仪形成数字化图像,另一种则是通过手机直接将物品上的文字通过拍照,再经过OCR转换成计算机可编辑的文字。 第一种:你可以按照以下步骤来扫描文件: 1. 打开扫描…

pikachu靶场(unsafe upfileupload(文件上传)通关教程)

目录 client check 1.在桌面新建一个文本文档 2.保存为.png格式 3.打开网站 4.按照图中操作 5.点击forward 6.访问 MIME type 1.新建一个php文件,里面写上 2.上传文件,就是我们保存的文件 3.打开抓包工具,点击开始上传 4.修改Conen…

【并发程序设计】12.内存映射

12.内存映射 使一个磁盘文件与内存中的一个缓冲区相映射&#xff0c;进程可以像访问普通内存一样对文件进行访问&#xff0c;不必再调用read,write&#xff0c;更加高效。 用到的函数 mmap函数 原型&#xff1a; #include <sys/mman.h> void* mmap(void* start, size_…

销售数据分析怎么做?看这一篇就够了

销售数据分析&#xff0c;简而言之&#xff0c;就是通过对销售数据的收集、整理、分析和解释&#xff0c;发现其中的规律和趋势&#xff0c;从而为销售策略的制定提供有力的数据支持。在当今数据驱动的时代&#xff0c;销售数据分析已经不再是专业数据分析师的专属技能&#xf…

【项目管理知识】项目质量管理措施

1、持续改进&#xff08;PDCA&#xff09; 戴明循环或称PDCA循环、PDSA循环。戴明循环的研究起源于20世纪20年代&#xff0c;先是有着“统计质量控制之父”之称的著名的统计学家沃特阿曼德休哈特&#xff08;Walter A. Shewhart&#xff09;在当时引入了“计划-执行-检查&…

去噪扩散概率模型在现代技术中的应用:图像生成、音频处理到药物发现

去噪扩散概率模型&#xff08;DDPMs&#xff09;是一种先进的生成模型&#xff0c;它通过模拟数据的噪声化和去噪过程&#xff0c;展现出多方面的优势。DDPMs能够生成高质量的数据样本&#xff0c;这在图像合成、音频生成等领域尤为重要。它们在数据去噪方面表现出色&#xff0…

结构体相关习题的补充

结构体相关习题的补充 题目1&#xff1a; 如有以下代码&#xff1a; struct student {int num;char name[32];float score; }stu;则下面的叙述不正确的是&#xff1a;( ) A.struct 是结构体类型的关键字 B.struct student 是用户定义的结构体类型 C.num, score 都是结构体…

带文字的短视频:成都鼎茂宏升文化传媒公司

带文字的短视频&#xff1a;视觉与文字的交织艺术 在信息爆炸的时代&#xff0c;短视频以其直观、生动的视觉呈现方式&#xff0c;迅速成为人们获取信息、娱乐休闲的重要渠道。然而&#xff0c;随着人们对内容深度和质量要求的提升&#xff0c;成都鼎茂宏升文化传媒公司单纯的…

一文搞懂分布式事务-Saga

Saga定义 Saga模式是一种分布式事务处理模式&#xff0c;用于保证分布式系统中的一系列操作要么全部成功执行&#xff0c;要么全部回滚&#xff0c;以实现一致性的目标。它采用了长事务的概念&#xff0c;将原子操作拆分为多个子事务&#xff0c;并通过补偿机制保证整个事务的…

知识图谱抽取实战

相关代码见文末 1.知识图谱应用场景 知识图谱是一种先进的数据组织形式,它通过图数据结构来表示实体(如人、地点、概念)及其之间的复杂关系,便于机器理解和处理。这种结构化知识库允许高效的信息检索、推理和知识发现,尤其适用于处理高度关联且需要深度理解的领域,如医学…

深入了解diffusion model

diffusion model是如何运作的 会输入当时noise的严重程度&#xff0c;根据我们的输入来确定在第几个step&#xff0c;并做出不同的回应。 Denoise模组内部实际做的事情 产生一张图片和产生noise难度是不一样的&#xff0c;若denoise 模块产生一只带噪声的猫说明这个模块已经会…

【考试100】安全员B证《建设工程安全生产技术》单选题

​ 题库来源&#xff1a;考试100 【考试100】安全员B证《建设工程安全生产技术》单选题 1&#xff0e;在悬空部位作业时&#xff0c;操作人员应&#xff08; &#xff09; A.遵守操作规定 B.进行安全技术交底 C.戴好安全帽 D.系好安全带 【考试100答案】&#xff1a;D…

华为云的云主机安装的linux系统不能使用yum下载软件包、程序、组件等

目录 一、背景介绍 二、问题描述 1、尝试使用yum安装traceroute 2、更换yum源 3、使用curl命令访问百度&#xff0c;测试网络 三、问题分析和解决 1、修改网卡设置 &#xff08;1&#xff09;ifconfig查看网卡信息 &#xff08;2&#xff09;添加DNS 2、修改/etc/res…

268 基于matlab的模拟双滑块连杆机构运动

基于matlab的模拟双滑块连杆机构运动&#xff0c;并绘制运动动画&#xff0c;连杆轨迹可视化输出&#xff0c;并输出杆件质心轨迹、角速度、速度变化曲线。可定义杆长、滑块速度&#xff0c;滑块初始位置等参数。程序已调通&#xff0c;可直接运行。 268 双滑块连杆机构运动 连…

【LINUX】LINUX基础(目录结构、基本权限、基本命令)

文章目录 LINUX的目录结构LINUX的基本权限LINUX基本命令 LINUX的目录结构 /&#xff1a;表示根目录bin&#xff1a;存放二进制可执行文件(命令ls、cat、mkdir等)boot&#xff1a;存放系统引导文件dev&#xff1a;存放设备文件etc&#xff1a;存放系统配置文件home&#xff1a;…

纯js仿淘宝多图片封面图插件模板/带视频,带放大镜,带前后端完整代码PHP

功能预览,他依赖jq插件,请自已引入 类似这样 <script type"text/javascript" src"/Application/Admin/Static/js/jquery-2.0.3.min.js"></script>一,前端模板代码 <!--多图功能--><style> charset "utf-8"; .wrap_imgs…

打造高效上传体验:基于Kotlin的Android快速上传框架

1. 引言 在Android开发中&#xff0c;文件上传操作常常面临各种挑战&#xff0c;为此我开源了一个高效、易用的快速上传框架&#xff0c;助力开发者轻松实现文件上传功能。 GitHub项目地址: 点我 2. 框架特点概述 纯Kotlin编写&#xff1a;简洁、现代的编程语言。MVVM架构&a…

利用依赖结构矩阵管理架构债务

本文讨论了如何利用依赖结构矩阵&#xff08;DSM&#xff0c;Dependency Structure Matrix&#xff09;管理和识别架构债务&#xff0c;并通过示例应用展示了这一过程。原文: Managing Architecture Debt with Dependency Structure Matrix Vlado Paunovic Unsplash 技术债务&a…