OpenDiT icon indicating copy to clipboard operation
OpenDiT copied to clipboard

训练出的loss不收敛

Open Silentssss opened this issue 11 months ago • 12 comments

我使用ucf101数据集先训练了1个epoch,得到的loss曲线是这样的,非常不平滑,请问这是正常的吗,下面是我的结果和训练参数: torchrun --standalone --nproc_per_node=8 train.py \ --model VDiT-XL/1x2x2 \ --use_video \ --data_path preprocess/ucf101_train.csv \ --batch_size 1 \ --num_frames 16 \ --image_size 256 \ --frame_interval 3 \ --epochs 1 image

Silentssss avatar Mar 07 '24 02:03 Silentssss

我们展示的loss结果里将smooth开到0.99了。因为你们log的间隔比较大,步数不多,所以我不确定你们的结果是否正常,如果多个epoch训练时总的loss下降就可以

oahzxl avatar Mar 07 '24 02:03 oahzxl

log间隔大感觉loss也不应该跳动这么大的幅度,看到您给的默认参数是2p,我改到8p了,可能相应的学习率和batch_size也需要改下,我修改下再训练试试

Silentssss avatar Mar 07 '24 02:03 Silentssss

image 这是我们的未平滑的曲线

oahzxl avatar Mar 07 '24 02:03 oahzxl

您这是2p训练出来的结果吗,我这里8p的时候loss都已经跳到1以上了

Silentssss avatar Mar 07 '24 02:03 Silentssss

p你指的是什么?

oahzxl avatar Mar 07 '24 03:03 oahzxl

这个参数,我这里是一台A100,有8个device,你们给的参数默认是2个device同时训练 image

Silentssss avatar Mar 07 '24 03:03 Silentssss

我们的loss是八台机器训的,然后batch size会开到比较大

oahzxl avatar Mar 07 '24 03:03 oahzxl

那请问有单机的参数吗,比如单机2卡或者单机8卡训练的参数,因为我这里目前只有一台机器

Silentssss avatar Mar 07 '24 03:03 Silentssss

哦不好意思说错了,是八卡训的,就是我们在复现指南里面给出的参数,模型对lr不是特别敏感

oahzxl avatar Mar 07 '24 03:03 oahzxl

好的,感谢感谢

Silentssss avatar Mar 07 '24 03:03 Silentssss

有没有生成视频的示例呢?我在项目readme里面并没有看到任何视频训练结果的case

culeao avatar Mar 07 '24 03:03 culeao

我们展示的loss结果里将smooth开到0.99了。因为你们log的间隔比较大,步数不多,所以我不确定你们的结果是否正常,如果多个epoch训练时总的loss下降就可以

作者你好,你们训练有效果了吗?

ersanliqiao avatar Mar 08 '24 02:03 ersanliqiao