PocketSphinx语音识别系统语言模型的训练和声学模型的改进 zouxy09@qq.com http://blog.csdn.net/zouxy09 关于语音识别的基础知识和sphinx的知识,详细能够參考我的另外两篇博文: 语音识别的基础知识与CMUsphinx介绍: http://blog.csdn.net/zouxy09/article/details/7941585 PocketSphinx语音识别系统的编译.安装和使用: http://blog.csdn.net/zouxy09/…
转:http://blog.sina.com.cn/s/blog_66f725ba0101bw8i.html 关于语音识别的声学模型训练方法已经是比较成熟的方法,一般企业或者研究机构会采用HTK工具包.Kaldi等进行训练,目前从声学模型出发,提高系统性能的主要策略主要有: 1)增加训练数据.不同的训练数据也会对模型有一定的影响,例如,数据的男女均衡性.采集数据的channel.数据的背景噪声.发音人的方言等等. 2)采用比较好的模型训练方法.以前一般采用基于EM和Baum-Welch算法的最大…
目录 声学模型 GRU-CTC DFCNN DFSMN 语言模型 n-gram CBHG 数据集 本文搭建一个完整的中文语音识别系统,包括声学模型和语言模型,能够将输入的音频信号识别为汉字. 声学模型使用了应用较为广泛的递归循环网络中的GRU-CTC的组合,除此之外还引入了科大讯飞提出的DFCNN深度全序列卷积神经网络,也将引入阿里的架构DFSMN. 语言模型有传统n-gram模型和基于深度神经网络的CBHG网络结构,该结构是谷歌用于TTS任务中的tacotron系统,本文中将该系统部分结构移植…
前面的博客里说过最近几个月我从传统语音(语音通信)切到了智能语音(语音识别).刚开始是学语音识别领域的基础知识,学了后把自己学到的写了PPT给组内同学做了presentation(语音识别传统方法(GMM+HMM+NGRAM)概述).一段时间后老板就布置了具体任务:在我们公司自己的ARM芯片上基于kaldi搭建一个在线语音识别系统,三个人花三个月左右的时间完成.由于我们都是语音识别领域的小白,要求可以低些,就用传统的GMM-HMM来实现.说实话接到这个任务我们心里是有点没底的,不知道能不能按时完…
[源码分析] Facebook如何训练超大模型---(1) 目录 [源码分析] Facebook如何训练超大模型---(1) 0x00 摘要 0x01 简介 1.1 FAIR & FSDP 1.2 大规模训练计算能力需求 0x02 FSDP 如何工作 2.1 全参数分片 2.2 比对 2.3 梳理 2.3.1 思路 2.3.2 流程步骤 0x03 How to use FSDP 3.1 在语言模型中使用FSDP 3.2 在计算机视觉模型之中使用FSDP 3.3 在PyTorch Lightnin…
摘要: 原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ 1.首先安装 PocketSphinx 语音识别: $ sudo apt--pocketsphinx $ sudo apt-get install ros-indigo-pocketsphinx $ sudo apt-get install ros-indigo-audio-common $ sudo apt-get install libasound2 $ sudo apt--gconf(有…
[源码分析] Facebook如何训练超大模型 --- (3) 目录 [源码分析] Facebook如何训练超大模型 --- (3) 0x00 摘要 0x01 ZeRO-Offload 1.1 设计原则 1.2 ZeRO 0x02 卸载策略 2.1 数据流图 2.2 限制CPU计算 2.3 最小化计算量 2.4 最大化内存节约 2.5 唯一最优化策略 2.6 ZeRO-Offload Schedule 2.6.1 单机计划 2.6.2 多节点计划 0x03 FairScale Offload 使…
利用微软Speech SDK 5.1开发语音识别系统主要步骤 2009-09-17 10:21:09|  分类: 知识点滴|字号 订阅 微软语音识别分两种模式:文本识别模式和命令识别模式.此两种模式的主要区别,主要在于识别过程中使用的匹配字典不同.前者使用的是通用字典,特点是内容多,覆盖的词汇量大,字典由sdk提供.适用于没有预定目标的随机听写之类的应用.同时因为词汇量大直接导致识别的精度降低,识别速度较慢.后者的字典需要 开发者自己编写,就是你们所说的xml文件.xml文件作为一种数据存储的方…
http://www.lupaworld.com/proj.php?mod=view&cid=&id=824 语音识别系统 Simon:Simon 是一个开源的语音识别系统,它不仅可以输入文字,而且可以代替键盘.鼠标操作电脑.Simon 基于 Qt 用 C++ 开发,因为某些支持库与 KDE 相同,所以可完美的集成到 KDE 4 中.除 KDE 之外,Simon 也可在 GNOME.Xfce.及其他 X11 环境下运行.…
keras训练cnn模型时loss为nan 1.首先记下来如何解决这个问题的:由于我代码中 model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy']) 即损失函数用的是categorical_crossentropy所以,在pycharm中双击shift键,寻找该函数,会出现keras.loss模块中有该函数,进入该函数后, 原函数为: def categorical_crossent…
原文地址:搭建 MobileNet-SSD 开发环境并使用 VOC 数据集训练 TensorFlow 模型 0x00 环境 OS: Ubuntu 1810 x64 Anaconda: 4.6.12 Python: 3.6.8 TensorFlow: 1.13.1 OpenCV: 3.4.1 0x01 基础环境配置 Anaconda 下载地址: Anaconda-4.6.12-Linux 本文中安装位置为 /usr/local/anaconda3 修改默认的 python 版本为 3.6 cond…
PMML是一种通用的配置文件,只要遵循标准的配置文件,就可以在Spark中训练机器学习模型,然后再web接口端去使用.目前应用最广的就是基于Jpmml来加载模型在javaweb中应用,这样就可以实现跨平台的机器学习应用了. 训练模型 首先在spark MLlib中使用mllib包下的逻辑回归训练模型: import org.apache.spark.mllib.classification.{LogisticRegressionModel, LogisticRegressionWithLBFGS…
原数据集:包含 25000张猫狗图像,两个类别各有12500 新数据集:猫.狗 (照片大小不一样) 训练集:各1000个样本 验证集:各500个样本 测试集:各500个样本 1= 狗,0= 猫 # 将图像复制到训练.验证和测试的目录 import os,shutil orginal_dataset_dir = 'kaggle_original_data/train' base_dir = 'cats_and_dogs_small' os.mkdir(base_dir)#保存新数据集的目录 tra…
得知李航老师的<统计学习方法>出了第二版,我第一时间就买了.看了这本书的目录,非常高兴,好家伙,居然把主题模型都写了,还有pagerank.一路看到了马尔科夫蒙特卡罗方法和LDA主题模型这里,被打击到了,满满都是数学公式.LDA是目前为止我见过最复杂的模型了. 找了培训班的视频看,对LDA模型有了大致的认识.下面总结一点东西. 1.LDA与PLSA的联系 LDA模型和PLSA的联系非常紧密,都是概率模型(LSA是非概率模型),是利用概率生成模型对文本集合进行主题分析的无监督学习方法. 不同在于…
tflearn 中文汉字识别,训练后模型存为pb给TensorFlow使用. 数据目录在data,data下放了汉字识别图片: data$ ls0  1  10  11  12  13  14  15  16  2  3  4  5  6  7  8  9 datag$ ls 0xxx.png yyy.png .... 代码: 如果将get model里的模型层数加非常深,训练时候很可能不会收敛,精度一直停留下1%以内. # -*- coding: utf-8 -*- from __future…
之前参见了中国软件杯大赛,在大赛中用到了深度学习的相关算法,也训练了一些简单的模型.项目线上平台是用java编写的web应用程序,而深度学习使用的是python语言,这就涉及到了在java代码中调用python语言的方法. 为了能在java应用中使用python语言训练的算法模型,我在网上找了很久.我大概找到了三种方法 1. java代码可以直接调用python代码,只需要下载相应的jar包就行.这种方式我没有尝试,只是觉得这样做使得java应用太过于依赖python的环境了.还有网上也有将py…
自从看了<李开复自传>,就对"语音识别系统"产生了非常深刻的印象. 根据自己的判断,语音识别系统还是非常有用的. 以自己的实际需求来看: 1.中国象棋中的应用. 中国象棋程序中有一个功能,用户输入"馬八进七"字符串,程序能够自动解析,移动相应的棋子. 在现实生活中,正式的象棋比赛,在移动棋子时,会说出"馬八进七",告诉对方自己的棋子走动. 我很想实现这个功能:玩家说出"馬八进七",象棋程序自动识别语音,然后走棋.…
数据集 1.准备数据集 1)下载训练和验证图片 ImageNet官网地址:http://www.image-net.org/signup.php?next=download-images (需用邮箱注册,而且邮箱不能是地址以.com结尾的邮箱) ImageNet官网下载ILSVRC2012的训练数据集和验证数据集.除数据集外,ImageNet还提供了一个开发工具包ILSVRC2012_devkit_t12.tar.gz,是对ILSVRC2012数据集的详细讲解,提交比赛结果的要求,和对结果评价的…
TensorFlow 训练好模型参数的保存和恢复代码,之前就在想模型不应该每次要个结果都要重新训练一遍吧,应该训练一次就可以一直使用吧. TensorFlow 提供了 Saver 类,可以进行保存和恢复.下面是 TensorFlow-Examples 项目中提供的保存和恢复代码. ''' Save and Restore a model using TensorFlow. This example is using the MNIST database of handwritten digits…
[源码分析] Facebook如何训练超大模型 --- (2) 目录 [源码分析] Facebook如何训练超大模型 --- (2) 0x00 摘要 0x01 回顾 1.1 ZeRO 1.1.1 ZeRO-1 1.1.2 ZeRO-2 1.1.3 ZeRO-3 1.2 DDP VS FSDP 0x02 总体逻辑 2.1 FSDP 2.2 原始ZeRO 1.2.1 初始化 1.2.2 前向传播 1.2.3 反向传播 2.3 FSDP代码 2.3.1 初始化 2.3.2 前向传播 2.3.3 分层优…
摘要 BLSTM解码时,解码器需要等待整个音频到达后才开始解码,因为时间反方向的前向传播需要末尾的历史信息.BLSTM这一延时问题使其不适用与实时语音识别.context-sensitive-chunk BLSTM(CSC-LSTM)和latency-controlled BLSTM(LC-BLSTM,延时控制-双向LSTM)都将整句切分为数个chunks.通过在每个chunk中添加左右上下文帧,并以chunk为单位进行前向计算,BLSTM的延迟可以控制为一个chunk左右的时长,并且与传统BL…
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 文章索引::"机器学习方法","深度学习方法","三十分钟理解"原创系列 2017年3 月,谷歌大脑负责人 Jeff Dean 在 UCSB 做了一场题为<通过大规模深度学习构建智能系统>的演讲[9].Jeff Dean 在演讲中提到,当前的做法是: 解决方案 = 机…
GAN:通过 将 样本 特征 化 以后, 告诉 模型 哪些 样本 是 黑 哪些 是 白, 模型 通过 训练 后, 理解 了 黑白 样本 的 区别, 再输入 测试 样本 时, 模型 就可以 根据 以往 的 经验 判断 是 黑 还是 白. 与 这些 分类 的 算法 不同, GAN 的 基本 原理 是, 有两 个 相生相克 的 模型 Generator 和 Discriminator,Generator 随机 生成 样本, Discriminator 将 真实 样本 标记 为 Real, 将 Gene…
假定我们要拟合的线性方程是:\(y=2x+1\) \(x\):[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] \(y\):[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29] import torch import torch.nn as nn from torch.autograd import Variable import numpy as np import matplotli…
1. 前言 2.可配置的指令使能/禁用控制和trap控制 指令使能/禁用 当指令被禁用,则这条指令就会变成未定义 指令Trap控制 控制某条或某些指令在运行时进入陷阱,进入陷阱的指令会产生trap异常,路由规则如下: (1)当前为EL1,则陷阱异常传递给EL1(HCR_EL2.TGE定义为1时,会路由到EL2); (2)当前为EL2,则陷阱异常传递给EL2; (3)当前为EL3,则陷阱异常传递给EL3; 3. 系统调用 SVC 默认情况下SVC产生supervisor call,同步异常目标级别…
1.前言 ARMV8系统级编程模型主要包括异常级别.运行状态.安全状态.同步异常.异步异常.DEBUG 本文主要对系统级编程模型做一个概要介绍 2. 异常级别 2.1 Exception level概述 ELx(x<4),x越大等级越高,执行特权越高 执行在EL0称为非特权执行 EL2 没有Secure state,只有Non-secure state EL3 只有Secure state,支持EL0/EL1的Secure 和Non-secure之间的切换 EL0 & EL1 必须要实现,E…
1.实现效果 2.相关代码 实现BP训练模型的线程类 class WorkThread(QtCore.QThread): finish_trigger = QtCore.pyqtSignal() # 关闭waiting_gif result_trigger = QtCore.pyqtSignal(pd.Series) # 传递预测结果信号 evaluate_trigger = QtCore.pyqtSignal(list) # 传递正确率信号 def __int__(self): super(W…
--  这篇文章是一个学习.分析的博客 --- 1.准备数据与预处理 首先需要一份比较大的中文语料数据,可以考虑中文的维基百科(也可以试试搜狗的新闻语料库).中文维基百科的打包文件地址为 https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2 中文维基百科的数据不是太大,xml的压缩文件大约1G左右.首先用 process_wiki_data.py处理这个XML压缩文件,执行:python pr…
Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 线程模型 事件处理线程说明 如果事件处理的逻辑能迅速完成,并且不会发起新的IO请求,比如只是在内存中记个标识,则直接在IO线程上处理更快,因为减少了线程池调度. 但如果事件处理逻辑较慢,或者需要发起新的IO请求,比如需要查询数据库,则必须派发到线程池,否则IO线程阻塞,将导致不能接收其它请求. 如果用IO线程处理事件,又在事件处理过程中发起新的IO请求,比如在连接事件中发起登录请…
tensorflow安装 tensorflow安装过程不是很顺利,在这里记录一下 环境:Ubuntu 安装 sudo pip install tensorflow 如果出现错误 Could not findany downloads that satisfy the requirement tensorflow 执行 sudo pip install --upgrade pip sudo pip install tensorflow 如果出现错误 Cannot uninstall 'six'.I…