|
星级打分
平均分:NAN 参与人数:0 我的评分:未评
本帖最后由 奇奇怪怪的ID 于 2024-9-12 10:29 编辑
夜班闲着无聊,对家里的模型不放心就远程看了下(经常炸丹),结果让我观察到一件揪心的事,
就是loss现在48小时才下降0.004,有种绝望感从心头起...
我就想啊,怎么才能更可观的实现降幅呢,
我想到了 @wtxx8888 移植MVE的loss周期训练功能,
这个功能我看了源代码,是通过用户设定周期(就是多少次迭代),然后功能函数记录每一次迭代的损失,
当满足用户设定周期后,计算得出周期内loss最高的样本提取出来再训练一遍,
这个功能对我来说,相当棒!解决了不同素材本身的loss值不一样,相同的训练中loss更高的往往需要更多训练才能达到平均水平,
题外话:原版是一个轮次一个轮次的训练下去的(Epoch),也就是如果纯扭曲的话,每张的图的训练次数都是一样,除非你中间关闭dfl又重开
这个功能能让loss下降的更加平滑,但是我前面说的是希望更加可观,
于是我对这段代码进行了一捏捏的改动
for _ in range(50):
src_loss, dst_loss = self.src_dst_train(target_src, target_src, target_srcm, target_srcm_em, target_dst, target_dst, target_dstm, target_dstm_em)
改动的不多,只是将周期内loss最高的样本提取出来再训练50遍!
对训练还是有些影响的,比如迭代次数会变得缓慢,效果会不会更好还有待验证
我对比了改动前后的预览图,虽然不是相同素材,但是有个明显的变化
改动前:
改动后:
干!两张图居然限制今天上传附件的大小
这个图明天再补,反正帖子也没什么人看
总之就是loss的趋势曲线图变得更加跌宕起伏了
ps:这篇算日记,不用讨论,指指点点多过指点
|
|