AI开发平台MODELARTS-Wav2Lip基于DevServer适配PyTorch NPU训练指导(6.3.902):Step3 训练Wav2Lip模型

时间:2024-11-12 16:42:21

Step3 训练Wav2Lip模型

  1. 准备预训练模型。下载需要使用的预训练模型。
    • 人脸检测预训练模型,下载链接
    • 专家唇形同步鉴别器,下载链接 ,此链接是官方提供的预训练模型。训练Wav2Lip模型时需要使用专家唇形同步鉴别器,用户可以用自己的数据训练,也可以直接使用官方提供的预训练模型。
  2. 处理初始视频数据集。
    1. 将下载好的人脸检测预训练模型上传到/home/ma-user/Wav2Lip/face_detection/detection/sfd/s3fd.pth目录。
    2. 下载LRS2数据集。数据集文件夹结构如下:
      ├── LRS2_partly
      |     ├── main
      |     │   ├── five-digit numbered video IDs ending with (.mp4)
      |     │   ├── 00001.mp4
      |     │   ├── 00002.mp4
    3. 对数据集进行预处理。具体命令如下。
      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
    4. 将LRS2文件列表中的.txt文件(train、val)放入该filelists文件夹中。
      图3 filelists文件夹

      train.txt和val.txt内容参考如下,为处理后视频数据的目录名字。

      图4 train.txt和val.txt内容
  3. 训练专家唇形同步鉴别器。
    如果使用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保存一次模型。

  4. 训练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,以获得良好的结果。

support.huaweicloud.com/bestpractice-modelarts/modelarts_10_1510.html