DeepFaceLab使用教程(2)(完结)

本文主要介绍一些常用的训练模型以及常见问题。
详细功能介绍请参考:

DeepFaceLab使用教程(1)

目录

      • 1.关于训练模型
          • 1.1 关于H64模型 (2GB+)
          • 1.2 关于SAE (2GB+ )
      • 2.常见问题汇总
          • Q1:ValueError: No training data provided.
          • Q2:ImportError: DLL load failed.
          • Q3:为什么我换的脸是模糊的
          • Q4:为什么loss 值降到一定就不降了
          • Q5:src 需要多少个照片训练比较好
          • Q6:Batch Size是什么?要设置多大?
          • Q7: MODEL训练过,还可以再次换素材使用吗?

1.关于训练模型

正常情况下使用H128模型训练生成就可以,如果不行,这里介绍两款模型:H64和SAE模型。

1.1 关于H64模型 (2GB+)

与H128模型相比,H64模型只能换半个面部,因此不到万不得已,建议不要使用H64,因为根本换不出你想要的视频出来!!!

1.2 关于SAE (2GB+ )

风格化的编码器,基于风格损失的新型优秀模型。通过神经网络直接完成变形/风格化。对于有障碍物的脸部也就较好的重建。

SAE模型对配置要求较低,但是参数十分复杂,对新手不太友好。

这里推荐一下用不了H128时建议的模型参数:
DeepFaceLab使用教程(2)(完结)_第1张图片

如果还是出现OOM报错,建议再次改小batchsize。

或者更改为这个:

===== Model summary =====
== Model name: SAE
==
== Current iteration: 169238
==
== Model options:
== |== batch_size : 4
== |== sort_by_yaw : False
== |== random_flip : True
== |== resolution : 128
== |== face_type : f
== |== learn_mask : True
== |== optimizer_mode : 3
== |== archi : df
== |== ae_dims : 256
== |== ed_ch_dims : 32
== |== lighter_encoder : True
== |== multiscale_decoder : False
== |== pixel_loss : True
== |== face_style_power : 0.0
== |== bg_style_power : 0.0
== |== write_preview_history : True
== Running on:
== |== [0 : GeForce GTX 750]
=========================

参考:https://www.deepfaker.xyz/?p=255

2.常见问题汇总

Q1:ValueError: No training data provided.

答:没有脸部数据,可能是你用其它软件截的脸,这是不行的,DFL 仅支持自己截的脸。你可以将其它软件截的脸让DFL 再截一遍就可以用了 。

Q2:ImportError: DLL load failed.

答:博主也被这个问题困扰了很久,后来发现虚拟机中可以正常运行,于是花了九牛二虎之力找到了解决办法:首先检查Microsoft Visual C++ distributed 2015 X64装了没有,如果装了就找度娘下载api-ms-win-downlevel-shlwapi-l1-1-0.dll(32 位)和ieshims.dll 复制到DFL 的“_internal\python-3.6.8\Lib\site-packages\cv2”中,然后问题解决!

Q3:为什么我换的脸是模糊的

答:运存过少,训练时间不够,src 人脸过少,loss 值太高(0.5 以上都有点糊)以及"pixel_loss = True"(就是模糊的开关)都会导致这种情况,虽然512MB 可以运行,但是结果肯定是不尽人意的,推荐运存 2GB 以上,训练时间一般 10h 以上,loss 值推荐0.2 左右。

Q4:为什么loss 值降到一定就不降了

答:一般来说降到0.2 左右训练就很成功了(一般需要10+h,Iter100000+,而我的电脑需要训练一个星期才能达到目标效果),但是也有特殊情况,降到 1 左右不再降的可能是脸差的太厉害了,比如讲一个男人的脸贴一个女人身上,当然也有可能是时间不够。

Q5:src 需要多少个照片训练比较好

答:700~3000 个左右,Deepfacelab的作者推荐1500 个最好,太少的话即使loss 降到 0.1 也是糊的,太多的话加重运算负担。

Q6:Batch Size是什么?要设置多大?

Batch Size的意思大概就是一批训练多少个图片素材,一般设置为2的倍数。数字越大越需要更多显存,但是由于处理内容更多,迭代频率会降低。
根据网上的内容和本人实际测试,在我们这种64和128尺寸换脸的操作中,越大越好,因为最合理的值目前远超所有民用显卡可承受的范围。
新手建议自动或从大的数值减少直到能够正常运行(比如128→64→32→16…)。

Q7: MODEL训练过,还可以再次换素材使用吗?

换DST:
可以!而且非常建议重复使用。
新建的MODEL大概10小时以上会有较好的结果,之后换其他DST素材,仅需0.5~3小时就会有很好的结果了。

换SRC,那么就需要考虑一下了:
第一种方案:MODEL重复用,不管换DST还是换SRC,就是所有人脸的内容都会被放进MODEL进行训练,结果是训练很快,但是越杂乱的训练后越觉得导出不太像SRC的脸。

第二种方案:新建MODEL重新来(也就是专人专MODEL)这种操作请先把MODEL剪切出去并文件夹分类,这种操作可以合成比较像SRC的情况,但是每次要重新10小时会很累。

第三种方案:结合前两种,先把MODEL练出轮廓后,再复制出来,每个MODEL每个SRC脸专用就好了。

关于其他问题,请自行百度,因为问题会非常非常多,不可能进行一一列举。

最后,如果想深入学习,建议关注贴吧:地址

你可能感兴趣的:(其他,经验分享)