惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
L
LINUX DO - 最新话题
P
Proofpoint News Feed
Cyberwarzone
Cyberwarzone
Know Your Adversary
Know Your Adversary
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
L
Lohrmann on Cybersecurity
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Security Latest
Security Latest
T
The Exploit Database - CXSecurity.com
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Privacy & Cybersecurity Law Blog
K
Kaspersky official blog
The Last Watchdog
The Last Watchdog
Webroot Blog
Webroot Blog
Scott Helme
Scott Helme
T
Threat Research - Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
WordPress大学
WordPress大学
L
LINUX DO - 热门话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - Franky
V
Visual Studio Blog
O
OpenAI News
AI
AI
Hacker News: Ask HN
Hacker News: Ask HN
V2EX - 技术
V2EX - 技术
GbyAI
GbyAI
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Simon Willison's Weblog
Simon Willison's Weblog
S
Schneier on Security
Spread Privacy
Spread Privacy
Y
Y Combinator Blog
I
InfoQ
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
Threatpost
C
Cybersecurity and Infrastructure Security Agency CISA
F
Fortinet All Blogs
C
CERT Recently Published Vulnerability Notes
T
The Blog of Author Tim Ferriss
C
Check Point Blog
Apple Machine Learning Research
Apple Machine Learning Research
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
N
News and Events Feed by Topic
Project Zero
Project Zero
小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
B
Blog
G
Google Developers Blog

Posts on Changkun's Blog

Why High-Output Systems Are Often the First to Stop Growing Dark Forest Theory: A Formal Derivation Agents (or Humans) in Goal-Directed and Goalless Environments: On Pipelines, Priors, and the Rhythm Between Exploration and Exploitation At the Boundary of Self-Reference: From Stable Structures in Artificial Intelligence to the Self as a Recursive Model in an Open Dissipative System 2023 Reading List 2022 Reading List 2021 Reading List Are PSS/USS and RSS Actually the Same Thing? Performance Differences from Page Faults vs. Prefetching 2020 Year-End Review Migration with Zero Downtime 2020 Reading List The All in Go Stack Pointers Might Not Be Ideal for Parameters Eliminating A Source of Measurement Errors in Benchmarks Setup Wordpress in 10 Minutes 我为什么不再写博客了? 2019 年终总结 2018-2019 读书清单 Ten years of blogging Rethinking the Reflections on Communications and Trusts 2018 年终总结 Go source code study is open source Go source study: unsafe Pattern Go source study: sync.Pool Go runtime programming A Million WebSocket and Go Designing Asynchronous RESTful APIs 分布式杂谈01:CAP 理论的误解 Issues of Human-Bot Interaction 压缩法与深度网络的泛化性 Go in 1 Hour UMSLT04: The Past and Present of SGD UMSLT03: A Gentle Start of Learning Theory UMSLT02: A Breif History of Neural Networks UMSLT01: A Breif History of Regularization 不笑不足以为道 论文笔记:Generalization in Deep Learning 2017 年终总结 2017 读书清单 深度学习的泛化理论简介 删除 GitHub 上已经提交的敏感信息 硕士生涯的第一年就这样告一段落了 人肉计算(10): 系统参与激励 人肉计算(9): 陷阱的解法 别聊,一聊你就暴露 人肉计算(8): 人肉计算与数据科学中的陷阱 人肉计算(7): 社会行为分析 Hexo + GitHub + Travis CI + VPS 自动部署 人肉计算(6): 预测市场 人肉计算(5): 信用风险评级模型 读书与回报 瞎扯: 对现代企业理论与当下IT企业的商业模式和信息产业链的规律性的思考 人肉计算(4): 输入数据聚合与PageRank 又一次打整了一下博客 人肉计算(3): 输入数据聚合与链路预测 人肉计算(2): 意图博弈 GWAPs 人肉计算(1): 众包与群众智慧 对后辈同学在计算机专业上的答疑与解惑 在德国的医疗及住院体验 这可能不是一个技术博客了 实验楼楼赛第3期-Python-题解 迅速更换了 DISQUS Electron 深度实践总结 良好的编码体验的三个方面 2016 年终总结 2016 读书清单 最近在着手写的文章 微信小程序文档极致总结 谈谈过去三个月在实验楼的实习经历 Built a Desktop Client for My Blog Guacamole 源码分析与 VNC 中 RFB 协议的坑 《高速上手 C++11/14》正式发布 Docker 极速入门教程02 - 镜像与容器管理 Docker 极速入门教程01 - 基本概念和操作 阶段性沉默 ELK+Redis 最佳实践 终于全面启用了 HTTPS 苹果开源了LZFSE无损压缩 Hash 碰撞的一种思路 记一次完整的 Kaldi-TIMIT 示例运行 Kaldi 上的 TIMIT 例子 从科研写作谈起 Swift API 设计指南 有趣的人类 所以其实论文并没有什么鬼用 Githug 通关记录及指南 小结一下这学期的收获 2015 读书清单 2015 年终总结 负能量爆表 转眼就快两个月了 博客迁移记录 大三总结 这个世界,终究不会是我们的。 Linux 内核分析 之六:Linux 内核创建进程的过程 小说「泽缘」 Linux 内核分析 之五:system_call中断处理过程的简要分析 大创项目的标题真是每年都在考验同学们的想象力啊 Linux 内核分析 之四:使用库函数API和嵌入汇编两种方式使用同一个系统调用
Kaldi 安装与部署
Changkun Ou · 2016-06-04 · via Posts on Changkun's Blog

Published at发布于:   |   PV/UV: /   |   Reading阅读: 2 min

Kaldi 是一个用于语音识别的开发平台(工具包),目前已经较为成熟,而且文档很多。

本文提供一个 Kaldi 在 Mac OS X 10.11。5 下的安装教程,如果你用 Windows,请买一台 Mac。

下载源码

Kaldi 在 Github 上开源,我们应该直接下载他最新的源码执行编译。

1
git clone https://github.com/kaldi-asr/kaldi

编译

编译这种大型框架不应该去互联网上搜索任何安装教程,而是应该阅读官方的安装教程。(那我写这篇文章干嘛呢…(╯‵□′)╯︵┻━┻

我们容易看到在源码的根目录下有一个INSTALL的文件,上面描述了安装步骤。

第一步:在 tools/ 下查看 INSTALL 安装指令;

第二步:在 src/ 下查看 INSTALL 安装指令。

tools/

首先我们需要安装 Kaldi 的相关工具,最重要的就是编译 openfst,这里包含众多依赖,Kaldi 自身提供了一个脚本来帮助我们检查相关依赖。

1
extras/check_dependencies.sh

对于没有安装的东西,请自行安装,我第一次检查的时候居然全部通过了。(这个脚本里面大部分依赖其实都是Python 2.7的一些库,说明我是一个 Python 用户。

如果打印了 all OK. 说明所有依赖都已经安装完成。

接下来就是编译,直接使用:

-j 参数是提供多核加速编译,这里的 4 就是用四核进行编译。(不太可能有谁现在还用单核 CPU 了吧?

src/

编译完 tools/ 下的工具后,我们就可以开始编译 Kaldi 的主体部分了。

首先需要安装 CUDA,NVIDIA 传送门:https://developer.nvidia.com/cuda-downloads

(如果你的电脑不是 N 卡,请把电脑扔了并买一台有 N 卡的 Mac;如果你的电脑上 Xcode 都没装,呵呵。。

然后我们需要进行一些编译前的配置,进入 src/

这时候,如果你遇到了下面提示的警告:

1
2
3
4
5
6
7
**BAD WARNING**: You are using OS X El Capitan.  Some versions of this OS
**BAD WARNING**: have a bug in the BLAS implementation that affects Kaldi.
**BAD WARNING**: After compiling, cd to matrix/ and type 'make test'.  The
**BAD WARNING**: test will fail if the problem exists in your version. 
**BAD WARNING**: Eventually this issue will be fixed by system updates from
**BAD WARNING**  Apple.  Unexplained crashes with reports of NaNs will"
**BAD WARNING**  be caused by this bug, but some recipes will (sometimes) work.

请升级你的系统,因为最新的 El Capitan 10.11.5 已经解决这个问题了,不要惧怕这个警告。

然后执行最后的编译:

1
2
make depend -j 8
make -j 8

这里会出现一个问题,可能会报错:

1
error DOUBLE_PRECISION not defined.

我 Google 了一段时间并没有发现有人提出这个问题的解决方案。

考虑到 DOUBLE_PRECISION 这个词的意思,个人猜测可能需要自己指定双精度浮点数的精度,在 Mac 是64位系统,浮点数的精度为64,看这里 所以可以:

1
2
DOUBLE_PRECISION=64 make depend -j 8
DOUBLE_PRECISION=64 make -j 8

这样完成了整个 Kaldi 的安装。