deepfacelab中文网

 找回密码
 立即注册(仅限QQ邮箱)
查看: 465|回复: 17

关于训练模型理解

[复制链接]

2

主题

59

帖子

419

积分

初级丹师

Rank: 3Rank: 3

积分
419
 楼主| 发表于 2025-2-8 02:27:46 | 显示全部楼层 |阅读模式
星级打分
  • 1
  • 2
  • 3
  • 4
  • 5
平均分:NAN  参与人数:0  我的评分:未评
本帖最后由 yongbutuiqu 于 2025-2-8 03:25 编辑

如题

预训练

官方预训练是选择 Enable pretraining mode ( y/n ?:help ) y    原理就是开扭曲,和使用官方自带的训练集

坛主建议选择n      src-dst  都是放置同一个训练集,一定要开扭曲。

原理是一样的,但是用坛主的方法可以再开启其他选项来针对训练,比如眼嘴  侧脸  遮罩等...

最后,官方不会生成
InterAB   InterB   (liae模型)

坛主会生成InterAB   InterB两个文件。这时只要删除这两个文件。就可以换src开始正训。

loss值


关于loss值,指的是清晰度。和src-dst像不像没关系。



src-loss指的是第二列


dst-loss指的是第四列


第五列是换脸的预览效果。实际效果不一定,要合成才能知道

扭曲


开启扭曲            不管预训,正训。都要开扭曲,扭到表情眼睛嘴巴都一致了,扭到清晰度满意了。
关闭扭曲            神经网络学习重点就变成了皮肤睫毛痣等细节   



BS
小BS    正训刚开始用小BS,快速迭代,用于学习成像轮廓
大BS    轮廓清晰之后用电脑性能最大BS学习眼嘴皮肤纹理细节


如果把这几个参数练到极致了。开始猛火收丹

这时候要开梯度。并做好备份。防止丹糊了焦了。
然后随机颜色,人脸风格  色彩转换。
最后开GAN(Gan的时候隔段时间就保存一下备份。别干过头了)



复用专人底单
_decoder_src.npy
_decoder_dst.npy
这两个是反向解码映射文件
第二和第四列
_decoder_dst.npy这是第五列,可以重新生成。
那么是不是,这就是快速成像的原因。我只要复制这两个文件到别的模型,就能快速成像(同分辨率模型,不同四维)
以此达到预训练底单的功能。解决同分辨率不同四维。


希望全坛大神给予指正并指正下小细节要注意以及必须的问题






回复

使用道具 举报

32

主题

481

帖子

1万

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
10564
发表于 2025-2-8 08:09:22 | 显示全部楼层
随机扭曲对预训练无效,因为只有一组数据,而且没有src-dst面部映射,开了属于无效扭曲。
loss值是作为调参和梯度的参考,跟清晰度没必然关系。
随机扭曲适度就好,过度扭曲会破坏模型细节学习。
小bs有利于面部精细细节学习,大bs可以加速训练但是容易卡局部最优,lrd开启之前,bs需要随学习率一起调整,不存在后期开大bs猛火收丹这种操作。


回复 支持 反对

使用道具 举报

19

主题

211

帖子

3985

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
3985
发表于 2025-2-8 08:56:19 | 显示全部楼层
不是哥么,预训练在我那个帖子不是和你说过了吗?预训练选了Y,扭曲是强制关闭的,无论你Y/N他都不会开启。侧脸则相反,是强制开启的。另外在预训练里嘴眼和遮罩是可以选择开关的。还有liae预训练一样会产生interAB和interB,你翻我半成品那个模型,那个模型我预训练还是Y的呢,都没转正训
回复 支持 反对

使用道具 举报

2

主题

59

帖子

419

积分

初级丹师

Rank: 3Rank: 3

积分
419
 楼主| 发表于 2025-2-8 10:05:37 | 显示全部楼层
dfl9999 发表于 2025-2-8 08:09
随机扭曲对预训练无效,因为只有一组数据,而且没有src-dst面部映射,开了属于无效扭曲。
loss值是作为调参 ...

明白了,那我用的是坛主的方法。我看你的帖子是直接用官方的方法。这里面区别我对于扭曲理解错了。其他的地方一样吗?
回复 支持 反对

使用道具 举报

2

主题

59

帖子

419

积分

初级丹师

Rank: 3Rank: 3

积分
419
 楼主| 发表于 2025-2-8 10:10:56 | 显示全部楼层
fghfdg 发表于 2025-2-8 08:56
不是哥么,预训练在我那个帖子不是和你说过了吗?预训练选了Y,扭曲是强制关闭的,无论你Y/N他都不会开启。 ...

明白了,那和预训练选择N,然后同组数据集。预训练效果一样吗?
等正训了再开扭曲
回复 支持 反对

使用道具 举报

19

主题

211

帖子

3985

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
3985
发表于 2025-2-8 10:19:27 | 显示全部楼层
yongbutuiqu 发表于 2025-2-8 10:10
明白了,那和预训练选择N,然后同组数据集。预训练效果一样吗?
等正训了再开扭曲 ...

效果是不是一样我不知道,没试过。所以我的模型是预训练选Y的,预训练了320万再用src-src坛主预训练的方法在训练40万迭代
回复 支持 反对

使用道具 举报

2

主题

59

帖子

419

积分

初级丹师

Rank: 3Rank: 3

积分
419
 楼主| 发表于 2025-2-8 10:49:41 | 显示全部楼层
fghfdg 发表于 2025-2-8 10:19
效果是不是一样我不知道,没试过。所以我的模型是预训练选Y的,预训练了320万再用src-src坛主预训练的方 ...

迷啊...
但是原作者为什么要弄预训练。我觉得有他的道理。
下个模型我试一下同样参数用原版预训练。256-384-76-76-32
回复 支持 反对

使用道具 举报

0

主题

34

帖子

205

积分

初级丹师

Rank: 3Rank: 3

积分
205
发表于 2025-2-8 11:59:37 | 显示全部楼层
学习一下
回复

使用道具 举报

32

主题

481

帖子

1万

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
10564
发表于 2025-2-8 18:48:02 | 显示全部楼层
本帖最后由 dfl9999 于 2025-2-8 18:51 编辑
yongbutuiqu 发表于 2025-2-8 10:49
迷啊...
但是原作者为什么要弄预训练。我觉得有他的道理。
下个模型我试一下同样参数用原版预训练。256-3 ...

因为一旦进入正训,正式换脸就开始了,相当于你既要进行脸部学习,又要同时兼顾换脸,脸部学习是一个相当漫长、技术性要求很高的步骤,src在这个过程中通常会过拟合,或者被过度扭曲或者被其他数据增强参数或者不恰当的炼丹步骤和不恰当的核心参数设置破坏掉脸部的精细纹理,成丹通常惨不忍睹,要么表情僵硬,要么面部磨皮,要么人物像油蜡,要么根本不像src,所以作者前置了一个面部学习步骤,就是预训练,没有一个丹可以无脑挂机或者按照公式来就可以练的很牛x的,正训你把src的loss练到0.03,实际效果照样能打脸,很多人以为300万的时候不行,练到700万就起飞了,实际是在浪费电
回复 支持 反对

使用道具 举报

19

主题

211

帖子

3985

积分

高级丹圣

Rank: 13Rank: 13Rank: 13Rank: 13

积分
3985
发表于 2025-2-8 20:46:21 | 显示全部楼层
yongbutuiqu 发表于 2025-2-8 10:49
迷啊...
但是原作者为什么要弄预训练。我觉得有他的道理。
下个模型我试一下同样参数用原版预训练。256-3 ...

我试了,预训练选N,然后按照预训练的模式进行src-src对练(按照预训练强制的参数,即不开扭曲)成像比预训练选Y的快非常多。
我那个模型用预训练选Y的情况下迭代了320万,转正训想看看效果(src放刘亦菲,用金鱼库补角度的来当dst),正常开扭曲训练,迭代了3万次左右才有比较模糊的刘亦菲头像)
对此我对于这个效果是非常不满意的,因此我拿320万迭代预训练选Y的预训练模型继续训练src-src对练(关闭预训练即预训练选N,然后按照预训练强制的参数,即不开扭曲),迭代到360万。然后放src和dst扭曲训练,两千次迭代就成像了
回复 支持 反对

使用道具 举报

QQ|Archiver|手机版|deepfacelab中文网 |网站地图

GMT+8, 2025-3-12 12:25 , Processed in 0.124993 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表