Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用X-TRAIN数据集训练RIFE #381

Open
ZXMMD opened this issue Nov 14, 2024 · 2 comments
Open

使用X-TRAIN数据集训练RIFE #381

ZXMMD opened this issue Nov 14, 2024 · 2 comments

Comments

@ZXMMD
Copy link

ZXMMD commented Nov 14, 2024

作者您好,请问您尝试过使用高分辨率数据集(比如X-TRAIN)训练RIFE吗?我在训练过程中遇到了一些问题。
实验设置如下:

  1. 构造三帧组。X-TRAIN数据集中一个视频有65帧(索引为0到64),可以构造不同时间间隔的三帧组:0,1,2; 0,2,4; 0,3,6; 0,4,8; 0,5,10; ...; 0,32,64; 使用训练集中4408个视频共构造了400多万个三帧组。中间帧为ground truth. 训练时每个epoch会从这400多万个三帧组中随机选择48768个三帧组。
  2. 数据预处理。随机裁剪至512x512.其他的数据增强方式和RIFE保持一致。
  3. 使用4个GPU。学习率,batch size等参数和RIFE保持一致。
  4. 没有加载RIFE的预训练模型。

首先是在训练大概1400 step后loss变为NAN:
image

我尝试将weight decay从1e-3增大到2e-3(没有修改学习率等其他参数),在训练大概5000 step后loss变为NaN:
image

尝试在IFNet中添加BN层(没有修改学习率等其他参数),训练大概40k step后loss猛增:
image

会不会是训练集的问题,三帧组包含多种时间间隔(比如0,1,2;0,32,64)。我现在在尝试将训练集换成时间间隔相等的三帧组(0,26,52;1,27,53;...;12,38,64)。请问作者有什么建议吗?

@hzwer
Copy link
Owner

hzwer commented Nov 15, 2024

你好,我建议:

  1. 将蒸馏 loss 调小,因为大图训练时,光流的数值范围变大了似乎会有问题
  2. 多种时间间隔本身不会有问题
  3. 因为初始时看起来 l1 loss 在正常下降,我估计只要调小一点学习率就不容易炸了
  4. 如果要面向高清场景,建议增加模型中的下采样次数,以适应更大的运动

@hzwer
Copy link
Owner

hzwer commented Nov 18, 2024

据 VFIMamba 说,这里需要课程学习
https://zhuanlan.zhihu.com/p/923110402

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants