|  | 
 
| 				
本帖最后由 奇奇怪怪的ID 于 2024-9-12 10:29 编辑
星级打分
平均分:NAN  参与人数:0  我的评分:未评
 
 夜班闲着无聊,对家里的模型不放心就远程看了下(经常炸丹),结果让我观察到一件揪心的事,
 
 
 
 就是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:这篇算日记,不用讨论,指指点点多过指点
  
 
 
 
 
 | 
 |