有关训练代码数据层样本选择问题
gobigrassland opened this issue · comments
当前我写的训练代码,每个batch中都是随机选择一个视频中的一张图片及对应音频。这样batch中不包含单个视频的一个片段。而Wav2Lip项目中,关于这块是要选择同一个视频的连续5帧,比如单卡batchsize=20,也就是4个视频片段共计20帧。
https://github.com/Rudrabha/Wav2Lip/blob/master/hq_wav2lip_train.py
请问Musetalk训练出当前模型,这块是如何处理的?是与Wav2Lip保持一致吗?这个syncnet_T的影响是什么?
hello,当前模型是单帧训练的,所以一次只用选择一张图片。如果训练时序模型(模型结构需要改动),是需要连续N帧的,syncnet_T是为了之后训练时序模型作准备的
wav2lip采样连续的5帧是为了算syncloss,这里用到的syncnet需要连续5帧做输入。
https://github.com/Rudrabha/Wav2Lip/blob/master/hq_wav2lip_train.py#L324
他的另外两个loss(l1loss,perceptual_loss )也是逐帧算的。
https://github.com/Rudrabha/Wav2Lip/blob/master/hq_wav2lip_train.py#L331
我们在这个项目中没用用到syncloss,所以不需要采样连续的5帧