AI开发平台MODELARTS-Wav2Lip基于DevServer适配PyTorch NPU训练指导(6.3.902):Step3 训练Wav2Lip模型
Step3 训练Wav2Lip模型
- 准备预训练模型。下载需要使用的预训练模型。
- 处理初始视频数据集。
- 将下载好的人脸检测预训练模型上传到/home/ma-user/Wav2Lip/face_detection/detection/sfd/s3fd.pth目录。
- 下载LRS2数据集。数据集文件夹结构如下:
├── LRS2_partly | ├── main | │ ├── five-digit numbered video IDs ending with (.mp4) | │ ├── 00001.mp4 | │ ├── 00002.mp4
- 对数据集进行预处理。具体命令如下。
python preprocess.py --data_root ./LRS2_partly --preprocessed_root lrs2_preprocessed/
data_root参数为原始视频根目录,preprocessed_root参数为处理后生成的数据集目录。
处理后数据目录如下所示。preprocessed_root (lrs2_preprocessed) ├── main | ├── Folders with five-digit numbered video IDs(00001) | │ ├── *.jpg | │ ├── audio.wav | ├── 00001 | │ ├── *.jpg | │ ├── audio.wav
- 将LRS2文件列表中的.txt文件(train、val)放入该filelists文件夹中。
图3 filelists文件夹
train.txt和val.txt内容参考如下,为处理后视频数据的目录名字。
图4 train.txt和val.txt内容
- 训练专家唇形同步鉴别器。
如果使用LRS2数据集,可选择跳过此步骤。如果使用自己的数据集,训练命令参考如下。
python color_syncnet_train.py --data_root ./lrs2_preprocessed/main/ --checkpoint_dir ./savedmodel/syncnet_model/ --checkpoint_path ./checkpoints/lipsync_expert.pth
参数说明:
- --data_root :处理后的视频数据目录,与train.txt内容拼接后得到单个数据目录,例如:lrs2_preprocessed/main/00001。
- --checkpoint_dir :此目录用于保存模型。
- -checkpoint_path :(可选)可基于此目录的lipsync_expert模型继续进行训练,如果重新训练则不需要此参数。
默认每10000 step保存一次模型。
- 训练Wav2Lip模型。
训练Wav2Lip模型时需要使用专家唇形同步鉴别器。可以使用上一步3中的训练结果,也可以直接下载官方提供的预训练权重来使用。
具体训练命令如下。python wav2lip_train.py --data_root ./lrs2_preprocessed/main/ --checkpoint_dir ./savedmodel --syncnet_checkpoint_path ./checkpoints/lipsync_expert.pth --checkpoint_path ./checkpoints/wav2lip.pth
参数说明:
- --data_root :处理后的视频数据目录,与train.txt内容拼接后得到单个数据目录,例如:lrs2_preprocessed/main/00001。
- --checkpoint_dir :此目录用于保存模型。
- --syncnet_checkpoint_path :专家鉴别器的目录。
- --checkpoint_path :(可选)可基于此目录的Wav2Lip模型继续进行训练,如果重新训练则不需要此参数。
默认每3000 step保存一次模型。
专家鉴别器的评估损失应降至约 0.25,Wav2Lip评估同步损失应降至约 0.2,以获得良好的结果。