本文针对已经有一定基础的人,或者听说过模型复用的人。 如果还不理解这个概念的,我可以做一个简单的介绍。
正常情况换脸分成,素材处理,模型训练,应用合成。而模型训练是最费时间难度最高。新手一般是需要从零开始训练,这个时间会比较漫长(不是一般的漫长)。所以聪明的人们摸索出了一个方法,就是直接用别人训练过的模型。这个思路也有理论支撑,同时也被验证是可行的。当然其中有很多讲究,但是大致上来说确实可以通过复用模型提速增效!
今天就简单说一下,如何复用别人的训练好的模型。
1.准备工作
你需要先搞到模型文件,假设你已经不知道从什么地方搞来了模型。
确保DeepFaceLab已经安装成功,不知道的如何安装的可以参考 DFL3:软件版本的选择和安装详解!
安装好软件后提取好SRC和DST的人脸。
如果这个步骤不准备好,后面就会出现如下的错误。
- 解压模型放到指定位置
模型一般是以压缩包的形式分享,先将压缩包放到workspace文件下面的model文件夹里面。
使用解压软件将文件解压到当前文件夹下面。解压出来后如下图,包含了一些以dat和npy结尾的文件。不同的模型类型文件名称会有一些差别。
注意,这些文件必须放在model下面。而不是model下面的文件夹里面。比如下图,这样不行。
由于压缩的人或者解压软件的缘故,很可能会出现这种情况。
- 载入模型。
素材和模型都准备好了,就可以开始使用脚本载入模型了,载入成功就可以加速训练了。
点击训练脚本,一般来说都是点击最后一个SAEHD.bat。
双击脚本,稍等片刻后可以看到模型的名称。
此时只要按回车,然后选择好运行设备(CPU或者GPU)按回车,就会自动加载模型了。
加载过程会有一个两秒内修改参数的提示,如果你需要修改,就快速按回车。不修改等到两秒,就会自动继续。
如果这个模型配置比较高的话,在你的电脑上运行可能会出现OOM,此时可以考虑把"批量大小 Batch_size" 改成4。如果还是不行,就换模型或者换电脑。
这里需要注意,如果模型参数中的pretrain=true。那么必须将这个参数修改为false, 否则无法接加载你自己的素材。
修改参数后迭代数会从零开始。 如果这个参数为false,那么直接用就好了。
等待一会儿,就会出现一组跳动的数据,并且跳出预览窗口。
4.效果对比
这样复用模型就已经开始了,接下来交给时间就好了。 需要的时间会比你从零开始块很多。
可以对比下下面两组图片,都是跑了1011个迭代,但是清晰度差很多。
从零开始的效果。
复用模型效果
至于能快多少,效果提升有多少,这个就看你搞到的模型了。
虽然模型的参数可以清楚看到,但是它到底好不好,就像一个黑匣子,谁也不知道到。只能是靠自己去尝试了。
最后,分享两个白嫖模型供大家练手:
https://pan.baidu.com/s/1dTRhwnyJLSxPwfp7b4Sdig?pwd=tony