滚石 发表于 2020-11-29 09:03:41

【新手入门】预训练模型的概念与用法

看了简明视频教程后,相信大家已经熟悉了软件的基本操作,
现在我来通俗的讲讲大家经常说的预训练模型(神丹)是个什么神器玩意儿



什么是模型?
论坛里的模型均指神经网络模型
神经网络模型顾名思义就像人的大脑。这么讲虽然有点理想化了,但有助于大家理解:
新建一个模型就像诞生一个小孩,此时它虽然有脑子,但里面东西是全新的。
训练模型,就像教这小孩画画
训练的方式也和人很像,给他看图,让他照着画,学的好给奖励,学的不好给惩罚。
训练越多,这脑子学的就越多,画出来的人脸就越棒

什么是预训练模型?
预训练模型是“预选训练过的模型”的简称。
同样以小孩做比喻,现在你要画一个迪丽热巴画像,你有两种选择
1. 自己生个小孩,从零开始教他画画,直到他能画出迪丽热巴
2. 领养一个别人家已经学会画画小孩,他虽然没画过迪丽热巴,但他画过刘亦菲

你觉得哪个小孩能更快更好的画出迪丽热巴?当然是第2个

预训练模型也一样,别人训练过的模型已经掌握了大量人脸绘制技巧,你拿来稍微用自己的图片训练下,很快就能生成不错的图像。


那如何使用预训练模型?
只需三步第一步:下载一个预训练模型,放到model文件夹内
第二步:训练阶段选择该模型


第一步:下载一个预训练模型,放到model文件夹内
模型的获取路子很多,你可以在论坛模型分享区下载别人分享的模型,也可以在QQ群文件里下载模型,也可以找别的大神跪舔求模型
市场上也有人卖模型,你可以买付费的也可以拿免费的玩。但记住一点:模型的质量和价格没有必然联系,有人拿垃圾模型卖高价,也有人拿牛逼模型免费送。
萌新如果不知道别人模型质量怎么样,可以去QQ群 1095077489问大家
这里我推荐几家质量不错的:
1. 论坛模型区,质量有高有低,我发的模型都是我自己用过的,质量好坏不说,起码免费或超低价,试试又不会怀孕(◕ᴗ◕✿)
2. 猫之汉化(群里天天开车的喵老师),绿坝(群里的自动素材生产系统dflrepo.net)。群友反馈质量不错

第二步:训练阶段选择该模型
开始训练,在选择要训练的模型(如果文件夹中还有更多)和要训练的设备(GPU / CPU)之后,等待片刻,会提示2秒钟内按enter回车以修改模型设置,按它进入参数设置环节
把最后一个选项(是否启用预训练模式 use pretrain mode)改为N。
有些模型已经关了该选项,那你就放心大胆用自己数据训练吧
有些模型没关该选项,关闭预训练模式后,模型会将迭代计数还原为0,这是预训练模型的正常行为,莫慌,主要看图是不是还有人影。
正常情况下,关闭预训练模式后,模型训练预览图是直接能看到八九不离十的人脸,如果你发现你的预览图又从一片完全看不出人形的灰褐色开始,莫慌,按以下步骤操作:
   1. 按enter回车结束训练
   2. 把下载的预训练模型原始文件中几个.npy文件(只要.npy格式的文件,其余文件不要动)复制替换到模型文件夹中
   3. 重新启动训练,把最后一个选项(是否启用预训练模式 use pretrain mode)改为N


然后就可以愉快的训练自己的人脸数据了


如何自己制作一个预训练模型呢?
有些老哥想自己调一个不寻常的模型结构,比如增加模型宽度,修改分辨率,那怎么才能自己制作一个预训练模型呢?
方法有两种
1. (推荐)正常创建模型,预训练模式选择n,然后src和dst的aligned文件夹中,放上你已有的人脸数据图片,src和dst重复也没关系,图越多越好,越杂越好。然后就挂机跑
2. (不推荐)创建模型时,预训练模式选择y。此时软件会使用一份自带的国外名人数据集来给模型训练。角度光影很丰富。但我不推荐这么做。一是这个数据主要是欧美人,缺亚洲人数据;二是自己想添加一些特定数据就很麻烦,还得去处理.pak打包文件;三是当你想替换为目标dst和src时,很容易没备份就直接改预训练模式为n,然后惊奇发现模型怎么变成回到初始状态了。几周的挂机就全浪费了,群里已有好几起这类惨案。

你自己如果缺预训练用的数据,可以去素材分享区找一个叫FFHQ的数据集,里面有很多各种各样光影条件下的人脸,而且清晰度特别高,适合用来做预训练。



Wadewang 发表于 2021-1-12 22:22:59

帖子中,两次提到“(是否启用预训练模式 use pretrain mode)改为N”,要启用预训练模型,不应该选Y(es)吗,怎么会是N(o)呢,新手看起来感觉是矛盾的

滚石 发表于 2020-12-5 10:31:08

HD256 发表于 2020-12-5 09:45
努力赚仙丹吧

你这灌水太严重了

QQQ456MNB 发表于 2020-12-3 14:03:42

QQQ456MNB 发表于 2020-12-3 13:45
请问楼主下载的预训练模型的参数有点高 自己电脑跑不起来。怎么修改下载好的与训练模型参数呢。 ...

就是怎么修改   resolution: 192                  ==

==               archi: df-ud                  ==
==               ae_dims: 256                  ==
==                e_dims: 64                     ==
==                d_dims: 64                     ==
==         d_mask_dims: 22                     ==这几个参数

fx83924 发表于 2021-5-27 11:23:37

学习了~         

jack2020 发表于 2021-3-5 07:15:56

感谢楼主说明

18739626704 发表于 2021-1-18 19:55:33

求colab的用法

QQQ456MNB 发表于 2020-12-3 13:45:14

请问楼主下载的预训练模型的参数有点高 自己电脑跑不起来。怎么修改下载好的与训练模型参数呢。

云上重楼 发表于 2020-12-1 21:53:48

感谢楼主说明

huanggl234 发表于 2020-11-29 09:46:09

支持一波

fytxh26 发表于 2020-11-29 13:16:31

使用说明里有,但估计很少人会详细读说明。单独开个小帖子方便小白快速查找了。

caileimeng 发表于 2020-11-30 07:06:31

预训练的模型太好用了……用预训练跑1w+效果就很好了

shszl 发表于 2020-12-2 10:18:07

谢谢详解

滚石 发表于 2020-12-3 15:28:59

QQQ456MNB 发表于 2020-12-3 14:03
就是怎么修改   resolution: 192                  ==

==               archi: df-ud            ...

改不了,这几个参数第一次设定好就不能更改

QQQ456MNB 发表于 2020-12-3 15:47:55

滚石 发表于 2020-12-3 15:28
改不了,这几个参数第一次设定好就不能更改

原来如此 谢谢大佬。还有就是我自己新建的一个模型,照着和仙丹一样的参数设置的,电脑可以跑起来。但是同样参数的仙丹,模型初始化到80%就会报错,好像是显存不够。 仙丹是已经迭代100万次的。这是为什么呢。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【新手入门】预训练模型的概念与用法