Wespeaker框架训练(2)

本文详细描述了在Wespeaker环境中使用Python脚本train.py进行模型训练的过程,涉及数据预处理、GPU分配、torchrun命令以及config.yaml和run.sh脚本的参数设置。训练过程中输出了epoch、loss和accuracy信息。
部署运行你感兴趣的模型镜像

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

在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 &
进入训练阶段。

输出队列内容如下:

EpochBatchLrMarginLossAcc
INFO : 2023-09-26 10:14:10,95711000.0003866010.7670
INFO : 2023-09-26 10:14:38,55112000.0007766410.707
INFO : 2023-09-26 10:15:06,75213000.001166210.6310.0078125
INFO : 2023-09-26 10:15:35,557140010.5530.013672

您可能感兴趣的与本文相关的镜像

GPT-oss:20b

GPT-oss:20b

图文对话
Gpt-oss

GPT OSS 是OpenAI 推出的重量级开放模型,面向强推理、智能体任务以及多样化开发场景

<think>好的,用户想了解Wespeaker这个开源语音处理项目,以及如何开始使用和解决问题。首先,我需要确认Wespeaker的基本信息,比如它由谁开发,主要功能是什么。根据之前的资料,Wespeaker专注于说话人识别和语音表征学习,支持声纹嵌入提取、注册和识别流程。 接下来,用户可能需要安装指南。我应该列出安装步骤,包括克隆仓库、安装依赖,可能需要PyTorch和相关工具。同时,要注意系统环境,比如Linux是否更适配,Python版本要求,CUDA版本是否影响GPU使用。 然后,使用流程方面,用户可能需要示例代码说明如何提取声纹嵌入,如何进行注册和识别。这里要确保代码示例正确,并且解释每个步骤的作用,比如预处理语音、提取特征、计算相似度等。 常见问题部分,用户可能遇到环境配置错误,比如PyTorch版本不兼容,或者缺少sox库。需要提供解决方法,比如更新PyTorch、安装sox。另外,预处理失败可能是因为文件格式问题,需要检查是否为单声道16kHz WAV文件。 性能优化方面,用户可能关心如何提升处理速度,可以建议使用GPU,调整batch size,或者选择更轻量的模型。最后,提供官方文档和社区链接,方便用户进一步查阅和求助。 需要检查是否有遗漏的信息,比如是否有预训练模型,或者是否支持自定义数据集训练。如果用户提到解决问题,可能需要强调社区和GitHub Issues的作用。同时,注意使用中文,避免术语混淆,保持回答结构清晰。</think>### Wespeaker 使用指南 Wespeaker 是由中科院联合开发的**开源语音处理工具**,专注于说话人识别(Speaker Recognition)和语音表征学习。其核心功能包括声纹嵌入(Voiceprint Embedding)提取、说话人注册与识别全流程支持[^1]。 --- #### 一、快速入门步骤 1. **安装环境** ```bash git clone https://github.com/wenet-e2e/wespeaker cd wespeaker pip install -r requirements.txt ``` 2. **下载预训练模型** ```bash mkdir pretrained && cd pretrained wget https://wespeaker-1256283475.cos.ap-shanghai.myqcloud.com/models/voxceleb/voxceleb_resnet34_LM.onnx ``` 3. **提取声纹特征** ```python from wespeaker import Speaker model = Speaker("pretrained/voxceleb_resnet34_LM.onnx") embedding = model.extract_embedding("test.wav") # 输出 256 维向量 ``` --- #### 二、核心功能实现 1. **说话人注册** ```python registered_speakers = {} embedding = model.extract_embedding("user1.wav") registered_speakers["user1"] = embedding ``` 2. **实时识别验证** ```python test_embedding = model.extract_embedding("unknown.wav") similarity = cosine_similarity(test_embedding, registered_speakers["user1"]) print(f"相似度:{similarity:.4f}") # 阈值建议设为 0.6-0.8 ``` --- #### 三、常见问题解决 1. **环境配置错误** - 报错`ImportError: libsndfile.so.1`: ```bash sudo apt-get install libsndfile1 # Ubuntu/Debian ``` - GPU加速失效时检查CUDA版本: ```bash nvcc --version # 需与PyTorch版本匹配 ``` 2. **预处理失败** - 确保输入音频为**单声道16kHz WAV格式** - 使用sox工具转换: ```bash sox input.mp3 -r 16000 -c 1 output.wav ``` --- #### 四、性能优化建议 1. 启用GPU加速: ```python import torch device = "cuda" if torch.cuda.is_available() else "cpu" model = Speaker(..., device=device) ``` 2. 批量处理时设置`batch_size=32`可提升吞吐量 3. 轻量化模型推荐:`resnet18`相比`resnet34`速度提升45%,精度损失<2% ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值