mirror of
https://github.com/modelscope/FunASR
synced 2025-09-15 14:48:36 +08:00
3.1 KiB
3.1 KiB
(简体中文|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.scp,kaldi 样式的 wav 列表 (
wav_id \t wav_path), 例如:
在这种输入asr_example1 ./audios/asr_example1.wav asr_example2 ./audios/asr_example2.wavwav.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