Wespeaker框架训练(2)

2. 模型训练

2.1 run.sh stage 3

数据集处理完毕后开始训练,主要是调用wespeaker/bin/train.py 函数

  1. echo ”Start training ...” 打印提示信息,表示开始训练
  2. num_gpus=$(echo $gpus | awk -F ’,’ ’print NF’) 通过gpus 变量获取要使用的GPU 数量
  3. torchrun –standalone –nnodes=1 –nproc_per_node=$num_gpus,其中使用torchrun 命令来运行训练脚本
    • standalone 表示以独立模式运行
    • nnodes=1 表示使用单节点
    • nproc_per_node=$num_gpus 表示每个节点使用$num_gpus 个进程
  4. wespeaker/bin/train.py
  • config 模型配置文件yaml 路径
  • exp_dir 实验结果的保存路径
  • gpus 指定使用的GPU 编号[0]
  • num_avg 参数更新平均步长,默认10
  • data_type 数据类型shard/raw
  • train_data 训练集索引list 路径
  • train_label 训练集的标签信息索引路径
  • reverb_data 混响噪声集索引路径
  • noise_data 噪声集数据索引路径
  • checkpoint 模型的检查点路径,如果有则加载已有的checkpoint

Wespeaker框架训练(2)_第1张图片

在train.py中

输入参数:包括conf\config.yaml文件,也可以是外部设定的参数内容(如run.sh中定义外部参数config = conf/campplus.yaml)

campplus.yaml文件中又对训练epoch,间隔,保存记录,输出路径等参数进行了设定。具体后续对模型训练参数修改就在具体的模型.yaml文件中进行设定。临时的修改可以在run.sh中进行修改。

2.2 运行run.sh

首先设置run.sh 起始stage 和结束stage都为3;

通过anaconda进入wespeaker 环境(这里环境名称就是Wespeaker)

conda activate Wespeaker

运行nohup bash run.sh > ./exp/firstmodel.log 2>&1 &
进入训练阶段。

输出队列内容如下:

Epoch Batch Lr Margin Loss Acc
INFO : 2023-09-26 10:14:10,957 1 100 0.0003866 0 10.767 0
INFO : 2023-09-26 10:14:38,551 1 200 0.00077664 10.707
INFO : 2023-09-26 10:15:06,752 1 300 0.0011662 10.631 0.0078125
INFO : 2023-09-26 10:15:35,557 1 400 10.553 0.013672

你可能感兴趣的:(linux,运维,服务器)