基础知识要求

  • Python语言程序设计
  • 机器学习基础 (包含神经网络模型)
  • 语音信号处理
  • Linux系列操作系统基础
  • Git技术
  • Docker容器技术
  • 数据通信与网络 (包含HTTP协议和gRPC协议)

如何运行

使用ASRT训练和部署语音识别的原版完整教程:

教你如何使用ASRT训练中文语音识别模型

教你如何使用ASRT部署中文语音识别API服务器

自行训练、评估和部署操作详细指导

1. 操作系统、Python、CUDA安装

ASRT语音识别项目可运行在Linux、Windows和Mac系统上,请根据自己的实际需要选择并安装操作系统。
不论是使用Anaconda还是直接安装Python3,请确保当前机器已经安装有Python3,并且这里推荐使用Python 3.7版,这里的依赖环境版本以Python 3.7为基准,其他版本可能需要根据实际需要进行适配调整。
如果您打算使用GPU来运行ASRT的训练、评估或部署的话,请确保已经正确安装Nvidia家的GPU驱动和CUDA、cuDNN库。

如果没有,请看以下相关资料解决:
Linux系统下安装TensorFlow的GPU版本
linux卸载旧版CUDA并安装新版CUDA
Windows安装CUDA和CUDNN运行环境

2. 克隆项目仓库

通过Git将本项目克隆到您的计算机上,然后下载本项目训练所需要的数据集,下载链接详见本文档的数据集页面

$ git clone https://github.com/nl8590687/ASRT_SpeechRecognition.git

或者您也可以通过 “Fork” 按钮,将本项目Copy一份副本,然后通过您自己的SSH密钥克隆到本地。

3. 下载并解压数据集,查看并根据需要修改配置文件

以Linux系统为例,创建目录 /data/speech_data/,然后将下载好的6个数据集直接解压进去

请注意是 /data/speech_data/ 而不是 data/speech_data/,如果不懂二者有什么区别请先去学习Linux基础知识。如果是Windows系统的话,请自行在下述配置文件中改成Windows的文件目录形式,例如D:/speech_data/D:\\speech_data\\,其他同理,默认的路径配置不适用于Windows系统下

asrt_config.json是ASRT语音识别项目的配置文件,默认是以Linux系统文件路径方式编写的,如果有必要时(比如是Windows系统),请注意修改配置路径。

该文件的格式标准请查看 ASRT文件格式标准

您也可以改为自己指定的其他目录,但是请修改asrt_config.json文件中放在自己指定目录的数据集对应的data_path路径。配置文件为json格式,如果不懂json格式是什么,请先去学习一下,否则不小心改错格式的话会导致运行时报错的。

$ mkdir /data/speech_data/

$ tar zxf <数据集压缩文件名> -C /data/speech_data/

注:由于数据堂的语音数据集aidatatang200zh文件路径发生过变动,可以考虑在配置文件中暂时去除该条数据集再训练和测试,AI柠檬将来有空时会处理同步这一问题,或者您也可以在处理完毕后贡献开源,您的id会展示在贡献者列表。

4. 安装必要的Python依赖库环境

运行本项目之前,请安装必要的Python依赖库环境

Python的依赖库

需要额外安装的python依赖库

  • tensorflow (1.15 - 2.x) 训练请安装GPU版,推理时GPU或CPU版均可

  • wave (直接装最新版,下同)

  • matplotlib

  • scipy

  • requests

  • flask

  • waitress

  • protobuf

  • grpcio

  • grpcio-tools (可选安装,用于通过.proto文件生成代码,若无需修改则不影响正常使用)

  • numpy (如果没自动安装请手动安装)

  • pytest (可选安装,主要用于单元测试,不影响正常使用)

手动安装命令

打开命令行,输入:

$ pip install wave scipy matplotlib tensorflow-cpu==2.5.3 numpy==1.19.2 requests flask waitress

一键安装脚本 (python 3.7专用)

$ pip install -r requirements.txt

对依赖包的具体版本要求不严格,其中TensorFlow版本只要 >= 1.15.0即可,一直支持到 tensorflow 2.x的最新版

5. 下载默认数据集的数据列表文件

在刚才通过git克隆仓库以后,进入项目根目录

$ cd ASRT_SpeechRecognition

在ASRT根目录下运行以下命令以下载推荐的默认数据集所对应的数据列表文件和拼音标签文件:

$ python download_default_datalist.py

6. 训练、评估和部署

目前可用的模型有24、25、251、251bn

本项目开始训练请执行:

$ python3 train_speech_model.py

本项目开始评估模型识别错误率请执行:

$ python3 evaluate_speech_model.py

运行之前,请确保代码中填写的模型文件路径存在。

预测单条音频文件的语音识别文本:

$ python3 predict_speech_file.py

ASRT 开启HTTP协议API服务器请执行:

$ python3 asrserver_http.py

测试调用ASRT HTTP协议API服务是否成功:

$ python3 client_http.py

ASRT 开启gRPC协议API服务器请执行:

$ python3 asrserver_grpc.py

测试调用ASRT gRPC协议API服务是否成功:

$ python3 client_grpc.py

7. 补充说明

如果要训练和使用其他模型,请在代码中 import SpeechModel 的相应位置做修改。

如果程序运行期间有什么问题,可以及时在issue中或者群里提出来,我将尽快做出答复。

提问前可以先 查看常见问题,避免重复提问,绝大多数常见的问题都能解决

直接使用ASRT发布版部署操作详细指导

1. 手工方式直接安装部署

教你如何使用ASRT部署中文语音识别API服务器

2. 通过Docker安装部署

仅CPU运行推理识别,不作训练

$ docker pull ailemondocker/asrt_service:1.2.0
$ docker run --rm -it -p 20001:20001 --name asrt-server -d ailemondocker/asrt_service:1.2.0
文档更新时间: 2022-04-28 17:40   作者:AI柠檬