Stylegan是由英偉達(皮衣刀客老黃家的)實驗室發布的虛擬人臉生成算法,可以無中生有,生成非常逼真的虛擬人,按現在流行的說法是數字人。AI通過學習大量的高清人臉圖片之后,就能生成幾十億現實世界中不存在的人臉。
Stylegan1出現的時候已經讓人驚掉下巴了,第三代自然是更加牛~,至於牛~在哪里?這個...只能意會不能言傳。說人話就是升級了變強了,更加細膩逼真。具體改進可以看github主頁,大概路徑是stylegan->stylegan2->stylegan2-ada->stylegan3 。
算法交給大佬們,如何用交給我。
我之前非常詳細的寫過Stylgan的安裝方法,目前也依舊可用。但是如果要在30系列跑起來就要費點周折了。今天就來寫一下,在Rtx30上運行Stylgan3,生成一百張虛擬人臉。
基礎准備
工欲善其事必先利其器,為了成功運行Styegan3,需要一些必備的軟硬件基礎設施。下載軟件的時候注意軟件的【版本號】,CUDA和cuDNN必須配套。
必備軟件:
- 安裝CUDA11.1+版本
- 安裝cuDNN v8.0.5
- 安裝Git
- 安裝Miniconda3
- 安裝Vs2019 C++部分
- 科學工具
軟件有點多,但是也不用太擔心,基本都是下一步下一步安裝。詳細安裝方法,可以參考我之前的文章《
必備硬件:
四肢健全的電腦一台
中高端N卡一張(我是3060 12G)
具體步驟
1. 獲取源代碼:
點擊Windows開始圖標,搜索mini,打開conda命令行工具。
輸入命令:
每輸入一行命令,按一個回車,等待完成。我這里是把源代碼放在了E盤下的DEV文件夾里,獲取成功后會生成一個stylegan3的文件夾,里面的文件就是我們需要的東西。 這個步驟,一般來說很快,但是你極有可能被分在二班(諧音梗警告!)。
2. 設置環境變量
因為要用到VS,所以需要加一個環境變量。
環境變量路徑:
這個環境變量加在Path下面,注意要替換成你本地環境的路徑。如果你的VS是默認安裝,那么主要是替換部分,根據我的版本來這里就是2019(尖括號不要留)。
3. 創建虛擬環境&安裝依賴
官方已經准備好了一個environment.yml文件。里面有具體的依賴關系。直接運行相應命令就可以自動安裝所有的依賴包
命令:
第一行,創建環境,安裝依賴
第二行,激活虛擬環境。
這一步完成,我以為萬事俱備,就直接運行生成命了。沒想到給了一個:
No CUDA runtime is found, using CUDA_HOME='C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1'
問題是我已經安裝過CUDA了,怎么說沒有呢? 它是老大,只能按它說的。瘋狂下載安裝各種版本的CUDA,查各種牛頭不對馬嘴的解決方案。
最后...腦筋90度急轉彎,我懷疑是Pytorch版本問題。
4. 安裝最新版Pytorch
進入Pytorch官網
直接獲取安裝最新版的命令,懟上去!
我的第一選擇是使用conda命令安裝,但是安裝速度超級無敵慢,科學工具換了好幾個都不行。最后用PIP命令以6M/s的速度安裝成功。
上一步的問題真,的,解決,了。 針對這種牛頭不對馬嘴的錯誤提示,我無F可說,全憑悟性。目測是官方開發環境為linux,windows下加載包的時候沒匹配到。
5. 運行命令生成圖片
激動人心的時刻到了,開始創造虛擬人吧:
沒有想到的是....生成了....一條狗!一定是打開方式不對!
輸入新的命令:
終於,生成了一個人,但是總感覺奇形怪狀~效果好像還不如以前。
繼續悟道,繼續修改命令:
運行截圖:
100張高清人臉,成功生成。圖片會保存在stylegan3下面的out文件夾里面。
這里簡單介紹一個下四個參數的含義。
--outdir 是圖標輸出路徑
--trunc 這個取值范圍0~1,值越變化越大。
--seed 控制圖片生成的“種子” ,可以是單個數字,可以是一個區間。
--network 模型路徑,可以是本地路徑或者網絡路徑。
6. 再次運行
安裝好之后,下次使用的步驟為:
1. 打開miniconda
2. 用CD命令進入指定目錄
3. 用activate命令激活虛擬環境
3. 執行生成命令。
好了,搞定,收工,希望大家也能成功!
====
原文鏈接:
公眾號:托尼不是塔克