当前位置: 首页 > news >正文

常州北京网站建设广州市恒嘉建设有限公司网站

常州北京网站建设,广州市恒嘉建设有限公司网站,免费个人网站域名,企业网站查询系统官网目录 前言引言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理2. 模型构建1#xff09;定义模型结构2#xff09;优化损失函数 3. 模型训练及保存1#xff09;模型训练2#xff09;模型保存3#xff09;映射保存 相关其它博客工程源代码下载其它资料下载… 目录 前言引言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理2. 模型构建1定义模型结构2优化损失函数 3. 模型训练及保存1模型训练2模型保存3映射保存 相关其它博客工程源代码下载其它资料下载 前言 博主前段时间发布了一篇有关方言识别和分类模型训练的博客在读者的反馈中发现许多小伙伴对方言的辨识和分类表现出浓厚兴趣。鉴于此博主决定专门撰写一篇关于方言分类的博客以满足读者对这一主题的进一步了解和探索的需求。上篇博客可参考 《基于PythonWaveNetCTCTensorflow智能语音识别与方言分类—深度学习算法应用含全部工程源码》 引言 本项目以科大讯飞提供的数据集为基础通过特征筛选和提取的过程选用WaveNet模型进行训练。旨在通过语音的梅尔频率倒谱系数MFCC特征建立方言和相应类别之间的映射关系解决方言分类问题。 首先项目从科大讯飞提供的数据集中进行了特征筛选和提取。包括对语音信号的分析提取出最能代表语音特征的MFCC为模型训练提供有力支持。 其次选择了WaveNet模型进行训练。WaveNet模型是一种序列生成器用于语音建模在语音合成的声学建模中可以直接学习采样值序列的映射通过先前的信号序列预测下一个时刻点值的深度神经网络模型具有自回归的特点。 在训练过程中利用语音的MFCC特征建立了方言和相应类别之间的映射关系。这样模型能够识别和分类输入语音的方言并将其划分到相应的类别中。 最终通过这个项目实现了方言分类问题的解决方案。这对于语音识别、语音助手等领域具有实际应用的潜力也有助于保护和传承各地区的语言文化。 总体设计 本部分包括系统整体结构图和系统流程图。 系统整体结构图 系统整体结构如图所示。 系统流程图 系统流程如图所示。 运行环境 本部分包括Python环境、TensorFlow环境、JupyterNotebook环境、PyCharm环境。 详见博客。 模块实现 本项目包括4个模块数据预处理、模型构建、模型训练及保存、模型生成。下面分别给出各模块的功能介绍及相关代码。 1. 数据预处理 本部分包括数据介绍、数据测试和数据处理。 详见博客。 2. 模型构建 数据加载进模型之后,需要定义模型结构并优化损失函数。 1定义模型结构 卷积层使用带洞因果卷积卷积后的感知范围与卷积层数呈现指数级增长关系。WaveNet模型是一种序列生成器用于语音建模在语音合成的声学建模中可以直接学习采样值序列的映射通过先前的信号序列预测下一个时刻点值的深度神经网络模型具有自回归的特点。相关代码如下 epochs 10#迭代次数 num_blocks 3 filters 128 #层叠 drop_rate 0.25 #防止过拟合 X Input(shape(None, mfcc_dim,), dtypefloat32) #一维卷积 def conv1d(inputs, filters, kernel_size, dilation_rate):return Conv1D(filtersfilters, kernel_sizekernel_size, strides1, paddingcausal, activationNone, dilation_ratedilation_rate)(inputs) #步长strides为1 #参数padding’causal’即为采用因果卷积 def batchnorm(inputs):#批规范化函数return BatchNormalization()(inputs)#BN算法每一层后增加了归一化层 def activation(inputs, activation): #定义激活函数实现神经元输入/输出之间的非线性化return Activation(activation)(inputs) def res_block(inputs, filters, kernel_size, dilation_rate): #残差块hf activation(batchnorm(conv1d(inputs, filters, kernel_size, dilation_rate)), tanh)hg activation(batchnorm(conv1d(inputs, filters, kernel_size, dilation_rate)), sigmoid)h0 Multiply()([hf, hg])ha activation(batchnorm(conv1d(h0, filters, 1, 1)), tanh)hs activation(batchnorm(conv1d(h0, filters, 1, 1)), tanh)return Add()([ha, inputs]), hs2优化损失函数 通过Adam()方法进行梯度下降动态调整每个参数的学习率进行模型参数优化。 (“losscategorical_crossentropy”)。 #定义损失函数和优化器 optimizer Adam(lr0.01, clipnorm5) #Adam利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率 model Model(inputsX, outputsY) model.compile(losscategorical_crossentropy, optimizeroptimizer, metrics[accuracy]) #模块编译采用交叉熵损失函数 lr_decay ReduceLROnPlateau(monitorloss, factor0.2, patience1, min_lr0.000) #ReduceLROnPlateau基于训练过程中的某些测量值对学习率进行动态下降 history model.fit_generator( #使用fit_generator函数来进行训练generatorbatch_generator(X_train, Y_train), steps_per_epochlen(X_train) // batch_size,epochsepochs, validation_databatch_generator(X_dev, Y_dev), validation_stepslen(X_dev) // batch_size, callbacks[checkpointer, lr_decay])3. 模型训练及保存 本部分包括模型训练、模型保存和映射保存。 1模型训练 模型相关代码如下 epochs 10 #参数设置 num_blocks 3 filters 128 drop_rate 0.25 X Input(shape(None, mfcc_dim,), dtypefloat32) #输入数据 def conv1d(inputs, filters, kernel_size, dilation_rate): #卷积return Conv1D(filtersfilters, kernel_sizekernel_size, strides1, paddingcausal, activationNone, dilation_ratedilation_rate)(inputs) def batchnorm(inputs): #批标准化return BatchNormalization()(inputs) def activation(inputs, activation): #激活定义return Activation(activation)(inputs) def res_block(inputs, filters, kernel_size, dilation_rate): #残差层hf activation(batchnorm(conv1d(inputs, filters, kernel_size, dilation_rate)), tanh)hg activation(batchnorm(conv1d(inputs, filters, kernel_size, dilation_rate)), sigmoid)h0 Multiply()([hf, hg])ha activation(batchnorm(conv1d(h0, filters, 1, 1)), tanh)hs activation(batchnorm(conv1d(h0, filters, 1, 1)), tanh)return Add()([ha, inputs]), hs #模型训练 h0 activation(batchnorm(conv1d(X, filters, 1, 1)), tanh) shortcut [] for i in range(num_blocks):for r in [1, 2, 4, 8, 16]:h0, s res_block(h0, filters, 7, r)shortcut.append(s) #直连 h1 activation(Add()(shortcut), relu) h1 activation(batchnorm(conv1d(h1, filters, 1, 1)), relu) #参数batch_size, seq_len, filters h1 batchnorm(conv1d(h1, num_class, 1, 1)) #参数batch_size, seq_len, num_class #池化 h1 GlobalMaxPooling1D()(h1) #参数batch_size,num_class Y activation(h1, softmax) h1 activation(Add()(shortcut), relu) h1 activation(batchnorm(conv1d(h1, filters, 1, 1)), relu) #参数batch_size, seq_len, filters h1 batchnorm(conv1d(h1, num_class, 1, 1)) #参数batch_size, seq_len, num_class h1 GlobalMaxPooling1D()(h1) #参数batch_size, num_class Y activation(h1, softmax) optimizer Adam(lr0.01, clipnorm5) model Model(inputsX, outputsY) #模型 model.compile(losscategorical_crossentropy, optimizeroptimizer, metrics[accuracy]) checkpointer ModelCheckpoint(filepathfangyan.h5, verbose0) lr_decay ReduceLROnPlateau(monitorloss, factor0.2, patience1, min_lr0.000) history model.fit_generator( #训练generatorbatch_generator(X_train, Y_train), steps_per_epochlen(X_train) // batch_size,epochsepochs, validation_databatch_generator(X_dev, Y_dev), validation_stepslen(X_dev) // batch_size, callbacks[checkpointer, lr_decay])训练输出结果如图所示。 通过观察训练集和测试集的损失函数、准确率大小来评估模型的训练程度,进行模型训练的进一步决策。训练集和测试集的损失函数(或准确率)不变且基本相等为模型训练的最佳状态。 可以将训练过程中保存的准确率和损失函数以图的形式表现出来,方便观察。 import matplotlib.pyplot as plt #解决中文显示问题 plt.rcParams[font.sans-serif] [KaiTi] plt.rcParams[axes.unicode_minus] False #解决保存图像中负号-显示为方块的问题 #指定默认字体2模型保存 为了能够在本地服务器调用模型将模型保存为.h5格式的文件Keras使用HDF5文件系统来保存模型,在使用过程中需要Keras提供好的模型导入功能,即可加载模型。h5文件是层次结构。在数据集中还有元数据即metadata对于每一个dataset而言除了数据本身之外这个数据集还有很多的属性信息。HDF5同时支持存储数据集对应的属性信息所有属性信息的集合叫metadata。 相关代码如下 model Model(inputsX, outputsY) #模型 model.compile(losscategorical_crossentropy, optimizeroptimizer, metrics[accuracy]) #参数输出 checkpointer ModelCheckpoint(filepathfangyan.h5, verbose0) #模型的保存保存路径是filepath3映射保存 保存方言与类别之间的映射关系,将映射文件保存为.pkl格式以便调用pkl是Python保存文件的一种格式该存储方式可以将Python项目过程中用到的一些临时变量或者需要提取、暂存的字符串、列表、字典等数据保存使用pickle模块可将任意一个Python对象转换成系统字节。 相关代码如下 with open(resources.pkl, wb) as fw:pickle.dump([class2id, id2class, mfcc_mean, mfcc_std], fw)相关其它博客 基于PythonWaveNetMFCCTensorflow智能方言分类—深度学习算法应用含全部工程源码一 基于PythonWaveNetMFCCTensorflow智能方言分类—深度学习算法应用含全部工程源码二 基于PythonWaveNetMFCCTensorflow智能方言分类—深度学习算法应用含全部工程源码四 工程源代码下载 详见本人博客资源下载页 其它资料下载 如果大家想继续了解人工智能相关学习路线和知识体系欢迎大家翻阅我的另外一篇博客《重磅 | 完备的人工智能AI 学习——基础知识学习路线所有资料免关注免套路直接网盘下载》 这篇博客参考了Github知名开源平台AI技术平台以及相关领域专家DatawhaleApacheCNAI有道和黄海广博士等约有近100G相关资料希望能帮助到所有小伙伴们。
http://www.w-s-a.com/news/634985/

相关文章:

  • 做网站要注意哪一点网站需求分析的重要
  • 设计作品网站怎么开网站
  • 上海网站开发制作建设网站的建设费用包括
  • 上海网站建设网站开发亚洲杯篮球直播在什么网站
  • 网站做seo第一步h5制作公司
  • 软件外包产业网络优化工程师是干嘛的
  • 怎么用服务器做局域网网站河西网站建设
  • 工业企业网站建设企业门户网站解决方案
  • 网站运营与管理论文网上商城都有哪些
  • 常德网站制作建设毕设电商网站设计
  • 西安企业模板建站福州+网站建设+医疗
  • 邹城市住房和建设局网站仙居网站建设贴吧
  • 为什么要用CGI做网站网站手机优化显示
  • 做袜子娃娃的网站做网站要学的东西
  • 类qq留言网站建设企业做网站公司
  • 如何查到网站建设三足鼎立小程序开发公司
  • 交互网站怎么做的wordpress ssl 错位
  • 公司宣传 如何做公司网站郑州做网站那
  • 衡阳市城乡建设协会官方网站免费游戏网站模板
  • 小程序怎么做优惠券网站合肥建站网站平台
  • 民制作网站价格株洲企业seo优化
  • 网站建设 岗位职责网站建设百度索引
  • 网站建设的内容下拉网站导航用ps怎么做
  • 怎样做p2p网站海口免费自助建站模板
  • 给企业建设网站的流程图wordpress 添加子菜单
  • 企业网站带新闻发布功能的建站皋兰县建设局网站
  • 国内外做gif的网站wordpress数据库教程
  • 成都建站平台自己做一个网站需要多少钱
  • 景区旅游网站平台建设公司企业网站源码
  • 免费高清网站推荐喂来苏州网络科技有限公司