faceswap 换脸初体验


冷雨夜,与某龙闲聊中得知,便来一试。

所谓深度学习神马的,实质上就是利用显卡善于大量重复运算的特性,不断试错,最终一步步训练得到更优秀的模型。

真棒!¥250捡垃圾捡来的750 Ti终于不用吃灰了!

安装

先找到github上的这个项目

开始阅读安装文档

其中提到要求GPU而不是CPUGPU数小时,CPU可能要以周为单位。查了下,我捡来的750 Ti应该还是支持的。

自动安装程序用不了(因为所下载的资源应该是墙外的,下载不下来)。

手动安装了AnacondaGit。然后根据文档走就行了。注意操作要在Anaconda环境下的终端进行。

运行python setup.py,没有选择Docker。就开始自动安装各种包了。

(那些包一个几百MB太可怕了啊啊啊)

python faceswap.py gui就可以了。

界面截图

至此,安装就算是完成咯。

初步使用

开始阅读使用文档

So here’s our plan. We want to create a reality where Donald Trump lost the presidency to Nic Cage; we have his inauguration video; let’s replace Trump with Cage.

???Smg

Extract 提取训练数据

程序还得从github下载模型,下不下来还得科学上网…

这一步是将视频切割成图片,然后将图片中的人脸提取出来,方便之后的训练。

第一次用命令行运行,想摸一摸显卡的温度,然后一摸,,,就报错了。emmm虽然不能说一定有必然的联系,但大概就是原因。

另外注意配置输出的分辨率,默认256*256太大了。

Train 训练模型

报错啦,原因是GPU内存不够…(我的750 Ti只有2G显存太渣了…)

01/05/2020 16:54:19 CRITICAL Error caught! Exiting...
01/05/2020 16:54:19 ERROR    Caught exception in thread: '_training_0'
01/05/2020 16:54:19 ERROR    You do not have enough GPU memory available to train the selected model at the selected settings. You can try a number of things:
01/05/2020 16:54:19 ERROR    1) Close any other application that is using your GPU (web browsers are particularly bad for this).
01/05/2020 16:54:19 ERROR    2) Lower the batchsize (the amount of images fed into the model each iteration).
01/05/2020 16:54:19 ERROR    3) Try 'Memory Saving Gradients' and/or 'Optimizer Savings' and/or 'Ping Pong Training'.
01/05/2020 16:54:19 ERROR    4) Use a more lightweight model, or select the model's 'LowMem' option (in config) if it has one.

无论如何都不行…太糟糕了。

试着改成了64*64然后再来运行Lightweight模型,理论上是最节能的方法了,然而这时候就会莫名退出,没有报错提示,只有一个错误是return 3221225620。google都不起作用。issue里有人提交这个问题但是并没有回答。

最后一通乱搞,开了所有模型的LowMem选项,勾选了那三个内存节省方案,以这样的设置跑起来了。

Training

大概每个小时可以跑5000次迭代。

约五千次

约十万次

效果也还不错了,只是因为原图数量和质量都不够高,训练时间也没有特别长,所以有点糊,吻合也不够好。但效果已经出来了。

Convert 导出

直接选择输入文件,模型目录就行。

注意输入文件需要经过Extract,确定一个脸部的路径文件。


文章作者: 卯婴
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 卯婴 !
评论
  目录