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服務平臺的問題有可能會不一樣,但是流程都相同。

關于本篇用到的模型與命令可在公眾號內回復【臉資料】獲取。無套路!

最后希望這篇文章對你有幫助!感謝你的閱讀!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/19810.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/19810.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/19810.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

exe4j innosetup

exe4j:jdk: 打包時:需要的文件最好放到單獨的一個文件夾下,主機安裝32位jdk,exe4j用32位的。 附帶jre: jre用32位的(jdk下的jre)可使用X86,X64.用相對路徑。 只打64位時,需要選擇32-bit or 64-bit (generate 64…

樂觀鎖 or 悲觀鎖 你怎么選?

你有沒有聽過這樣一句話:悲觀者正確,樂觀者成功?。那么今天我來分享下什么是樂觀鎖?和悲觀鎖。 樂觀鎖和悲觀鎖有什么區別,它們什么場景會用 樂觀鎖 樂觀鎖基于這樣的假設:多個事務在同一時間對同一數據對象進行操作的可能性很…

fps游戲中如何將矩陣轉換為二維屏幕上的矩形坐標

fps游戲中如何將矩陣轉換為二維屏幕上的矩形坐標 matrix[4][4]: 4x4 矩陣,通常用于3D變換(如模型視圖投影矩陣)。 float* location: 一個指向位置坐標的指針,表示要轉換的3D位置。 int Window_w, int Window_h: 窗口的寬度和高…

工廠模式詳情

一.介紹工廠模式的用途與特點 工廠方法模式是一種創建型設計模式, 其在父類中提供一個創建對象的方法, 允許子類決定實例化對象的類型。定義工廠方法模式(Fatory Method Pattern)是指定義一個創建對象的接口,但讓實現這個接口的類來決定實例…

Python導出Jira列表

import requests import urllib3 urllib3.disable_warnings() from jira import JIRA import pandas as pd def login_jira(username,password):jira JIRA("https://jira.cn/",basic_auth(username,password))#projectsjira.project(id13)# jqlproject"云鏈-…

基于強化學習的控制率參數自主尋優

1.介紹 針對控制建模與設計場景中控制參數難以確定的普遍問題,提出了一種基于強化學習的控制律參數自主優化解決方案。該方案以客戶設計的控制律模型為基礎,根據自定義的控制性能指標,自主搜索并確定最優的、可狀態依賴的控制參數組合。 可…

unity打包的WebGL部署到IIS問題

部署之后會出錯,我遇到的有以下幾種; 進度條卡住不動 明明已經部署到了IIS上,為什么瀏覽網頁的時候還是過不去或者直接報錯。 進度條卡住不動的問題其實就是wasm和data的錯誤。 此時在瀏覽器上按F12進入開發者模式查看錯誤(下圖…

前端知識點雜記

本文章用于記錄前端學習中遇到的瑣碎問題及解決方法,歡迎大家一起學習補充~ 前端如何獲取UUID發送至后端? 1. 命令行下載uuid庫 npm install uuid 2. 工程導入uuid庫 import { v4 as uuidv4 } from "uuid"; 3. 使用方法生成uuid實例 co…

付費工具邏輯

1.付費推廣目的: 傳播信息心理暗示;擴大銷售,指導消費;樹立形象,塑道品牌; 2.付費和免費廣告: 付費主要為了增加曝光;免費廣告一般比付費廣告轉化率高; 3.平臺廣告交…

《Kubernetes部署篇:基于麒麟V10+ARM64架構部署harbor v2.4.0鏡像倉庫》

總結:整理不易,如果對你有幫助,可否點贊關注一下? 更多詳細內容請參考:企業級K8s集群運維實戰 一、環境信息 K8S版本 操作系統 CPU架構 服務版本 1.26.15 Kylin Linux Advanced Server V10 ARM64 harbor v2.4.0 二、部…

chrome谷歌瀏覽器開啟Gemini Nano模型

前提 確保您的操作系統語言設置為英語(美國) 可能還需要將 Chrome 瀏覽器的語言更改為英語(美國)。 下載dev或Canary版本Chrome Chrome Canary Chrome Dev 注意:確認您的版本高于 127.0.6512.0。 其中一個Chrome版本不行就切換另外一個版本 繞過性能檢查 Tab輸入: …

中國美業元宇宙-探索美容行業的未來

隨著科技的不斷進步和數字化轉型的深入,元宇宙作為一種全新的虛擬現實交互平臺,正逐漸成為推動多個行業革新的重要力量。在這種背景下,中國美業也在積極擁抱元宇宙,希望通過這一新興技術為傳統美容行業帶來創新與發展。 #### 中國…

結構體相關習題的補充

結構體相關習題的補充 題目1: 如有以下代碼: struct student {int num;char name[32];float score; }stu;則下面的敘述不正確的是:( ) A.struct 是結構體類型的關鍵字 B.struct student 是用戶定義的結構體類型 C.num, score 都是結構體…

正邦科技(day4)

燒錄 一、燒錄固件二、 通訊模塊升級1:USB的方式升級固件2:通過mqtt的方式升級固件3:切換環境 三、 燒錄WiFi1:短接2:燒錄腳本 設備注意事項: 第一種方式:通信模組和MCU都可以統一燒錄BoodLoade…

Oracle Hint /*+APPEND*/插入性能總結

oracle append用法 Oracle中的APPEND用法主要用于提高數據插入的效率。 基本用法:在使用了APPEND選項后,插入數據會直接加到表的最后面,而不會在表的空閑塊中插入數據。這種做法不需要尋找freelist中的free block,從而避免了在…

【計算機畢設】基于Spring Boot的課程作業管理系統 - 源碼免費(私信領取)

免費領取源碼 | 項目完整可運行 | v:chengn7890 誠招源碼校園代理! 1. 研究目的 課程作業管理系統旨在為教師和學生提供一個便捷的平臺,用于發布、提交和評定課程作業。本系統旨在提高作業管理的效率,促進教…

Golang反射

文章目錄 基本介紹reflect包reflect.Typereflect.Valuereflect.Kind具體類型、空接口與reflect.Value的相互轉換 反射應用場景修改變量的值訪問結構體的字段信息調用變量所綁定的方法實現函數適配器創建任意類型的變量 基本介紹 基本介紹 在Go中,反射(re…

錯誤 0x80070570:文件或目錄損壞且無法讀取/無法訪問[拒絕訪問]-解決方法

1.起因:在挪動U盤文件時,出現無法移動的報錯提示: and無法訪問[拒絕訪問]: 2.原因[大多是胡亂拔出U盤] [來自0x80070570 文件或目錄損壞且無法讀取 CHKDSK 修復方法-CSDN博客&#…

iOS AVFoundation 音視頻源碼分享

引言 在現代移動開發中,音視頻處理是一個不可忽視的重要領域。iOS 提供了強大的 AVFoundation 框架,使開發者能夠輕松實現音視頻錄制、播放、編輯等功能。無論是創建高效的視頻播放器,還是實現復雜的音頻處理,AVFoundation 都能提…

Leecode---買賣股票最大利潤問題

121—題目(只能買賣一次): 給定一個數組 prices ,它的第 i 個元素 prices[i] 表示一支給定股票第 i 天的價格。 你只能選擇 某一天 買入這只股票,并選擇在 未來的某一個不同的日子 賣出該股票。設計一個算法來計算你所…