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++部分
- 科学工具
软件有点多,但是也不用太担心,基本都是下一步下一步安装。详细安装方法,可以参考我之前的文章《玩转StyleGan2:手把手教你安装并运行项目!》安装过程基本类似,注意区分版本即可。
必备硬件:
四肢健全的电脑一台
中高端N卡一张(我是3060 12G)
具体步骤
1. 获取源代码:
点击Windows开始图标,搜索mini,打开conda命令行工具。
输入命令:
E: cd dev
git clone https://github.com/NVlabs/stylegan3.git
每输入一行命令,按一个回车,等待完成。我这里是把源代码放在了E盘下的DEV文件夹里,获取成功后会生成一个stylegan3的文件夹,里面的文件就是我们需要的东西。 这个步骤,一般来说很快,但是你极有可能被分在二班(谐音梗警告!)。
2. 设置环境变量
因为要用到VS,所以需要加一个环境变量。
环境变量路径:
C:\Program Files (x86)\Microsoft Visual Studio\<VERSION>\Community\VC\Auxiliary\Build\vcvars64.bat
这个环境变量加在Path下面,注意要替换成你本地环境的路径。如果你的VS是默认安装,那么主要是替换部分,根据我的版本来这里就是2019(尖括号不要留)。
3. 创建虚拟环境&安装依赖
官方已经准备好了一个environment.yml文件。里面有具体的依赖关系。直接运行相应命令就可以自动安装所有的依赖包
命令:
conda env create -f environment.yml
conda activate stylegan3
第一行,创建环境,安装依赖
第二行,激活虚拟环境。
这一步完成,我以为万事俱备,就直接运行生成命了。没想到给了一个:
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官网
直接获取安装最新版的命令,怼上去!
pip3 install torch==1.10.2+cu113 torchvision==0.11.3+cu113 torchaudio===0.10.2+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
我的第一选择是使用conda命令安装,但是安装速度超级无敌慢,科学工具换了好几个都不行。最后用PIP命令以6M/s的速度安装成功。
上一步的问题真,的,解决,了。 针对这种牛头不对马嘴的错误提示,我无F可说,全凭悟性。目测是官方开发环境为linux,windows下加载包的时候没匹配到。
5. 运行命令生成图片
激动人心的时刻到了,开始创造虚拟人吧:
python gen_images.py --outdir=out --trunc=1 --seeds=2 --network=https://api.ngc.nvidia.com/v2/models/nvidia/research/stylegan3/versions/1/files/stylegan3-r-afhqv2-512x512.pkl
没有想到的是....生成了....一条狗!一定是打开方式不对!
输入新的命令:
python gen_images.py --outdir=out --trunc=1 --seeds=2 --network=./models/stylegan3-r-ffhq-1024x1024.pkl
终于,生成了一个人,但是总感觉奇形怪状~效果好像还不如以前。
继续悟道,继续修改命令:
python gen_images.py --outdir=out --trunc=0.5 --seeds=1-100 --network=./models/stylegan3-r-ffhq-1024x1024.pkl
运行截图:
100张高清人脸,成功生成。图片会保存在stylegan3下面的out文件夹里面。
这里简单介绍一个下四个参数的含义。
--outdir 是图标输出路径
--trunc 这个取值范围0~1,值越变化越大。
--seed 控制图片生成的“种子” ,可以是单个数字,可以是一个区间。
--network 模型路径,可以是本地路径或者网络路径。
6. 再次运行
安装好之后,下次使用的步骤为:
1. 打开miniconda
2. 用CD命令进入指定目录
3. 用activate命令激活虚拟环境
3. 执行生成命令。
好了,搞定,收工,希望大家也能成功!
====
原文链接:Stylegan3 安装,配置,运行,生成! – 托尼是塔克
公众号:托尼不是塔克