忧郁的黑色汉堡 2024-05-24 13:58 采纳率: 0%
浏览 141
已结题

icefall在librispeech基础上加入个人数据集

个人需求

首先描述一下我的业务场景:
我之前一直使用的是sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20-bilingual-chinese-english这个数据集,目前我们想在这个数据集的基础上,添加一些我们个人的数据集

问题遇到的现象和发生背景

我参考了https://icefall.readthedocs.io/en/latest/for-dummies/index.html上的流程,根据yesno来生成了我个人的数据集,并且编写了train.py达到了生成训练日志epoch.pt的效果
但接下来我该怎么做呢?

  • 写回答

21条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2024-05-24 13:58
    关注
    获得0.60元问题酬金

    🕒下午好,题主!目前:🟢[在线]
    📢参考通义千问、由郭老师整理提供!
    📣今日诗号:浮生寄墟丘,不与红尘谋,身披烟波立云舟。一扇擎青穹,飘洒翳孤踪,梦变鲲鹏振长空。

    步骤 1:创建新数据集

    按照 Icefall 文档中的步骤,使用 YesNo 工具创建您的个人数据集。

    步骤 2:合并数据集

    将您的个人数据集与 LibriSpeech 数据集合并。您可以使用 flite 工具来完成此操作:

    flite_concat -o merged.wav libri.wav personal.wav
    

    其中:

    • libri.wav:LibriSpeech 数据集
    • personal.wav:您的个人数据集
    • merged.wav:合并后的数据集

    步骤 3:转换合并后的数据集

    将合并后的数据集转换为 Icefall 所需的格式:

    icefall-wav2vec data/merged.wav data/merged.json
    

    其中:

    • data/merged.wav:合并后的数据集
    • data/merged.json:与数据集对应的 JSON 清单文件

    步骤 4:创建训练配置文件

    创建训练配置文件,指定要训练的模型参数和数据路径:

    # train.yaml
    wandb_project: icefall
    train_samples: 1000000
    epochs: 100
    step_size: 10000
    lr: 0.001
    weight_decay: 0.0
    data:
      train: data/merged.json
    

    步骤 5:训练模型

    使用 Icefall 训练您的模型:

    icefall-train data/train.yaml
    

    步骤 6:评估模型

    训练完成后,评估模型的性能:

    icefall-eval data/train.yaml data/test.json
    

    注意:

    • 步骤 4 中的 train_samplesepochs 值可以根据您的数据集大小和可用训练时间进行调整。
    • 使用 --early_stop_tolerance 标志启用早期停止以防止过度拟合。
    • 请务必仔细检查您的合并步骤和生成的清单文件,以确保没有错误。
    评论

报告相同问题?

问题事件

  • 系统已结题 6月1日
  • 创建了问题 5月24日