Kaldi 源码阅读--hmm-topology
来源:互联网 发布:mac没声音 编辑:程序博客网 时间:2024/05/13 01:01
Kaldi 源码阅读–HMM
关于kaldi源码的阅读已经计划很久,今日从HMM开始:
切入点是hmm的topo文件:
<TopologyEntry> <ForPhones> 1 2 3 4 5 6 7 8 </ForPhones> <State> 0 <PdfClass> 0 <Transition> 0 0.5 <Transition> 1 0.5 </State> <State> 1 <PdfClass> 1 <Transition> 1 0.5 <Transition> 2 0.5 </State> <State> 2 <PdfClass> 2 <Transition> 2 0.5 <Transition> 3 0.5 <Final> 0.5 </State> <State> 3 </State> </TopologyEntry> </Topology>
kaldi 在src/hmm/hmm-topology.h 中定义了一个class HmmTopology。它包含三个成员变量:
std::vector< int32> phones_; //list of all phones we have topo for
std::vector< int32 > phone2idx_; //map phones to indexes
std::vector < TopologyEntry> entries_;
hmmTopology定义了一个TopologyEntry。TopologyEntry是一个hmmstate的数组:
typedef std::vector TopologyEntry;
hmmstate则是在其内部定义的一个结构体:
struct HmmState {
int32 forward_pdf_class;
int32 self_loop_pdf_class;
std::vector< std::pair< int32, BaseFloat> > transitions;
} 还定义了构造函数
总之一个模型有若干个phones,会包含若干个hmmstate, 每一个hmmstate 定义了其上的pdf_classs 与 状态的转移概率。
0 0
- Kaldi 源码阅读--hmm-topology
- kaldi 源码阅读-transition-model
- HMM topology and transition modeling
- Kaldi HMM拓扑和状态转换模型
- kaldi 1d-CNN源码
- Kaldi源码下载与编译
- kaldi
- Kaldi
- Storm源码浅析之topology的提交
- Storm源码浅析之topology的提交
- Storm源码浅析之topology的提交
- Storm-源码分析-Topology Submit-Client
- Storm源码浅析之topology的提交
- storm源码分析之topology提交过程
- Storm源码浅析之topology的提交
- Storm源码浅析之topology的提交
- Storm源码浅析之topology的提交
- Storm源码浅析之topology的提交
- java Servlet(五) 异常处理(配置异常处理页)
- AndroidStudio debug调试、单元测试
- C# Func<T>、Action<T> 的区别于说明
- 使用office的word进行doc(x)->pdf文件的转换
- Java 注解简介
- Kaldi 源码阅读--hmm-topology
- 安装gcc
- java socket参数详解:SendBufferSize和ReceiveBufferSize
- c# base和this在构造函数中的应用
- 在centos中删除服务的命令
- 来淄博旅游
- java socket参数详解:KeepAlive
- ab的使用
- 详解String、StringBuffer和StringBuilder的区别和应用场景