本文将以 kaldi 中 timit 的例程来看整个 run.sh 脚本的执行过程。本文来自于Running the example scripts (40 minutes)
数据准备
请先进入 kaldi\egs\timit\s5\ 这个目录。
运行环境
由于 kaldi 可以在本地运行,也可以在 Oracle GridEngine 上运行,因此,请修改 cmd.sh。
如果你是在本地运行,请输入
export train_cmd="run.pl --max-jobs-run 10"
export decode_cmd="run.pl --max-jobs-run 10"
export cuda_cmd="run.p
继续阅读 »
本文介绍如何使用 Docker 构建一个高效的 Web 开发环境(Linux+Docker+Python+JavaScript),这也是我的日常开发环境。
准备Docker
安装Docker
https://docker.github.io/engine/installation/linux/
不要漏了阅读 Create a Docker group 部分。
安装Docker Compose
继续阅读 »
新类型有自己的 data constructor (literals 可以看成特殊的 data constructor),由这一点来区分是否创建了新类型。
data 创建了新类型,可以有多个 data constructor。
newtype 创建了新类型,只能有一个 data constructor,同时新类型的内存布局与原来的类型相同。
type 没有创建新类型,只是建立了 alias,没有新的 data constructor。
type
常用于语义化类型,是业务逻辑层的概念。
```haskell
type ID = Int
a = 1 :: ID
b = a + 2 -- legal
showID :: ID -
继续阅读 »
问题
系统中的所有数据以block 存放: 每个block里:
有 n=1000万个文件, 已经排序好,
每个文件名长度平均l=512 Byte.
2个block中可能包含大量的重复文件, 这时我们需要找出这2个block, 将其合并,
以节省空间.
继续阅读 »
连连看是一种益智游戏,其核心算法是要在一个M * N的矩阵上找出两个点的“最短路径”,满足:1. 转弯数最少 2. 经过的点最少。谈到图的两点间最短路径,我们会想到用于无权图的广度优先搜索(BFS)和带权图的Dijkstra算法。那么对于连连看的M * N矩阵来说,究竟可以抽象成有权图呢还是无权图?如果有,权重又是什么呢?
继续阅读 »
众所周知,当我们执行没有任何调优参数(如java -jar myapplication.jar)的 Java 应用程序时,JVM 会自动调整几个参数,以便在执行环境中具有最佳性能。但是许多开发者发现,如果让 JVM ergonomics (即JVM人体工程学,用于自动选择和行为调整)对垃圾收集器、堆大小和运行编译器使用默认设置值,运行在Linux容器(docker,rkt,runC,lxcfs 等)中的 Java 进程会与我们的预期表现严重不符。
本篇文章采用简单的方法来向开发人员展示在 Linux 容器中打包 Java 应用程序时应该知道什么。
more
存在的问题
我们往往把容器当虚拟机,让它定义一些虚拟 CPU 和虚拟内
继续阅读 »
content
{:toc}
百度前端学院的第一次任务笔记,HTML、CSS 基础。主要有 CSS 工作原理,选择器的使用,常用属性,行高属性,盒模型与定位,最后根据设计图实现4个页面。
任务
任务: HTML、CSS基础
继续阅读 »
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
1 通过索引删除列表元素
```python
my_list = range(0, 10)
print my_list
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
del my_list[9]
print my_list
[0, 1, 2, 3, 4, 5, 6, 7, 8]
del my_list[5:8]
print my_list
[0, 1, 2, 3, 4, 8]
```
继续阅读 »
前段时间由于项目需求,移除了项目中的微信支付SDK和支付宝支付SDK,这种情况下需要自己搞定支付,第一时间考虑到的是使用openshare,但是当下载openshare下来后发现,openshare的支付接口,并不能直接替换官方SDK支付接口,
官方SDK的实现逻辑是后台订单签名完成后,客服端传签名信息及参数给支付SDK,支付SDK生成协议url,然后拉起第三方支付APP,
而openshare的支付接口是直接传拉起支付的协议url地址,将生成协议url地址的操作也交给后台来生成,
这样的话后台需要修改代码,
能否不修改后台代码,弄一个支付接口直接替换官方SDK支付接口,实现无缝对接呢,于是就研究了下微信和支付宝支付时APP间通讯关
继续阅读 »
Android 追加流生成 Mp4 文件技术方案(支持中断继续生成)
背景
Android 中 Mp4 文件的生成主要是通过 Mediacodec 将摄像头采集到的视频从 YUV 格式转成 h264 ,再通过 MediaMuxer 将 h264 的视频流生成 mp4 文件,这个过程就不在赘述了, Google 一搜一大把,其中需要注意的是在将 YUV 数据送入 Mediacodec 中之前需要将 YUV 格式从 NV21 转换成编码器能接收的 I420 格式,建议这个过程使用 JNI 来提高效率, java 的实现方式可以参考一下方法:
继续阅读 »