大家好,从我开始分享到现在,收到很多朋友的反馈说配置很低玩不了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服务平台的问题有可能会不一样,但是流程都相同。
关于本篇用到的模型与命令可在公众号内回复【脸资料】获取。无套路!
最后希望这篇文章对你有帮助!感谢你的阅读!