基于深度学习算法的语音识别的本机复现环境搭建

  |   0 评论   |   0 浏览

背景

华为云学院上提供了一个免费的实验,《基于深度学习算法的语音识别》,利用新型的人工智能(深度学习)算法,结合清华大学开源语音数据集THCHS30进行语音识别的实战演练,让使用者在了解语音识别基本的原理与实战的同时,更好的了解人工智能的相关内容与应用。

通过这个实验,可以了解如何使用Keras和Tensorflow构建DFCNN的语音识别神经网络,并且熟悉整个处理流程,包括数据预处理、模型训练、模型保存和模型预测等环节。

初体验

准备工作

数据:清华大学开源语音数据集THCHS30

wget https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/speech-recognition/data.zip; 
wget https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/speech-recognition/data_thchs30.tar

环境:windows + tensorflow 1.13.1 + python 3.7 (原文为3.6,我升级到了3.7)

conda create -n cnnctc37 python=3.7
python -m pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple
python -m pip install tensorflow==1.13.1 keras==2.2.4 keras-preprocessing==1.1.0 h5py==2.8.0 numpy==1.19.1 -i https://mirrors.aliyun.com/pypi/simple

使用avx指令集的tensorflow,打开tensorflow-windows-wheel,下载后更名为:tensorflow-1.13.1-cp37-cp37m-win_amd64.whl

python -m pip install tensorflow-1.13.1-cp37-cp37m-win_amd64.whl keras==2.2.4 keras-preprocessing==1.1.0 h5py==2.8.0 numpy==1.19.1 -i https://mirrors.aliyun.com/pypi/simple --force-reinstall

后面的略,全部代码和过程可以看华为云上的实验手册

模型结构

在这里插入图片描述

此模型为:CNN + DNN + CTC

  • CNN: 4个
  • DNN: 2个
  • CTC: loss

将h5模型转换为ONNX

依赖

# python -m pip install keras2onnx -i https://mirrors.aliyun.com/pypi/simple

代码

import keras
import keras2onnx
import onnx
from keras.models import load_model
model = load_model('/home/fw/work/2021/02.dnnctc37/asr-model.h5')  
onnx_model = keras2onnx.convert_keras(model, model.name)
temp_model_file = '/home/fw/work/2021/02.dnnctc37/asr-model.onnx'
onnx.save_model(onnx_model, temp_model_file)

结果

save file: the model was *not* compiled. Compile it manually.
  warnings.warn('No training configuration found in save file: '
The ONNX operator number change on the optimization: 79 -> 36

参考