FunASR/examples/industrial_data_pretraining/paraformer/README_zh.md
seanzhang-zhichen 9595a9432f
modify paraformer train doc (#1427)
Co-authored-by: zhangzc <2608882093@qq.com>
2024-03-05 17:42:14 +08:00

3.1 KiB
Raw Blame History

(简体中文|English)

语音识别

注意: pipeline 支持 modelscope模型仓库 中的所有模型进行推理和微调。这里我们以典型模型作为示例来演示使用方法。

推理

快速使用

Paraformer 模型

from funasr import AutoModel

model = AutoModel(model="/Users/zhifu/Downloads/modelscope_models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch")

res = model(input="/Users/zhifu/Downloads/modelscope_models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/example/asr_example.wav")
print(res)

API接口说明

AutoModel 定义

  • model: 模型仓库 中的模型名称,或本地磁盘中的模型路径
  • device: cuda(默认),使用 GPU 进行推理。如果为cpu,则使用 CPU 进行推理
  • ncpu: None (默认),设置用于 CPU 内部操作并行性的线程数
  • output_dir: None (默认),如果设置,输出结果的输出路径
  • batch_size: 1 (默认),解码时的批处理大小

AutoModel 推理

  • input: 要解码的输入,可以是:
    • wav文件路径, 例如: asr_example.wav
    • pcm文件路径, 例如: asr_example.pcm此时需要指定音频采样率fs默认为16000
    • 音频字节数流,例如:麦克风的字节数数据
    • wav.scpkaldi 样式的 wav 列表 (wav_id \t wav_path), 例如:
    asr_example1  ./audios/asr_example1.wav
    asr_example2  ./audios/asr_example2.wav
    
    在这种输入 wav.scp 的情况下,必须设置 output_dir 以保存输出结果
    • 音频采样点,例如:audio, rate = soundfile.read("asr_example_zh.wav"), 数据类型为 numpy.ndarray。支持batch输入类型为list [audio_sample1, audio_sample2, ..., audio_sampleN]
    • fbank输入支持组batch。shape为[batch, frames, dim]类型为torch.Tensor例如
  • output_dir: None (默认),如果设置,输出结果的输出路径

微调

准备数据

train_text.txt

左边为数据唯一ID需与train_wav.scp中的ID一一对应 右边为音频文件标注文本

ID0012W0013 当客户风险承受能力评估依据发生变化时
ID0012W0014 杨涛不得不将工厂关掉

train_wav.scp

左边为数据唯一ID需与train_text.txt中的ID一一对应 右边为音频文件的绝对路径

ID0012W0013 /Users/zhifu/funasr_github/test_local/aishell2_dev_ios/wav/D0012/ID0012W0013.wav
ID0012W0014 /Users/zhifu/funasr_github/test_local/aishell2_dev_ios/wav/D0012/ID0012W0014.wav

训练

cd examples/industrial_data_pretraining/paraformer
sh finetune_from_local.sh

查看训练日志

tensorboard --logdir /xxxx/FunASR/examples/industrial_data_pretraining/paraformer/outputs/log/tensorboard