- 博客(33)
- 收藏
- 关注
原创 对齐工具MFA
MFA(Montreal Forced Aligner)是一种forced alignment工具。MFA底层是使用了kaldi工具,相对于其它的工具MFA使用triphone acoustic model来建模上下文信息,同时包含了和说话人相关的特征,因此可以适应不同的说话人。MFA具有可训练性 (trainability) ,即可由用户自己在新数据上训练acoustic model。...
2022-06-06 11:49:48
3219
1
原创 nltk_data 数据下载链接错误解决
nltk_data 下载数据的出现无法访问链接的问题,例如下图:解决方式如下:手动下载:访问地址(https://www.nltk.org/nltk_data/),找到需要下载的包,手动下载后放到NLTK_DATA目录下。NLTK_DATA是系统的环境变量,不同的系统有不同的默认地址,创建目录并设置变量 NLTK_DATA。Windows:C:\nltk_dataMac:/usr/local/share/nltk_dataUnix:/usr/share/nltk_data例如上图
2022-03-02 17:20:57
1923
原创 声纹识别中pooling总结
1、2、static pooinghttps://www.danielpovey.com/files/2018_icassp_xvectors.pdf3、attativce pooling4、
2021-06-08 19:00:28
1943
翻译 离散傅里叶变化的直观理解
An Intuitive Discrete Fourier Transform Tutorialhttp://practicalcryptography.com/miscellaneous/machine-learning/intuitive-guide-discrete-fourier-transform/
2020-10-19 17:28:16
1655
原创 Makefile中使用shell命令遇到的 unterminated call to function `shell‘: missing `)‘. Stop.问题
Makefile中调用shell命令如果命令中有字符 ‘#’ ,这有可能会出现如下的问题:Makefile:3: *** unterminated call to function `shell': missing `)'. Stop.可能的原因是:“”#"在Makefile里头被解析成注释符了。所有如要要是“#” 则加上转义字符就可以了 “\#”。...
2020-10-19 10:12:34
2663
原创 TVM源码编译安装
TVM源码编译安装由于TVM依赖LLVM,安装TVM之前需要先安装LLVM1、LLVM 安装1.1 LLVM需要C++14的特性,所以编译器gcc>=5 ,cmake>3.51.2 安装其他依赖yum install -y libffi-devel graphviz-devel elfutils-libelf-devel readline-devel libedit-devel libxml2-devel protobuf-devel gtext-devel doxyge.
2020-09-11 19:31:16
891
1
翻译 语音特征提取
目录Setup预加重(Pre-Emphasis)分帧(Framing)加窗(Window)傅里叶变换和功率谱(Fourier-Transform and Power Spectrum)Filter Banks梅尔倒谱系数 Mel-frequency Cepstral Coefficients (MFCCs)均值归一化 Mean Normalization...
2020-02-29 11:15:18
3534
5
原创 四、模板使用的基础技术(Tricky Basics)
本章讲解高级的基础概念,包括关键字typename的另外一种使用,将成员函数和嵌套类定义为模板,模板模板参数(template template parameters),0值初始化和在类模板中使用字符串常量的一些细节等等。1、关键字typename关键字typename目的是向编译说明它所有修饰的标识符是一个类型而不是其它的什么东西。如下:template <typename T> class M
2018-01-05 20:14:49
503
原创 三、非类型模板参数(Nontype Template Parameters)
对于函数模板和类模板,模板参数不一定必须是类型,也可是是常规的数值。当以类型(type)作为模板参数的时候,代码中未决定的是类型;当以一般的数字(non-type)作为模板参数的时候,代码中待定的内容便是某些数值。使用者这种模板必须要显示指定数值,模板才能实例化。1、非类型类模板参数(Nontype Class Template Parameters)之前章节中的列子中Stack类中使用vector
2017-12-29 16:24:27
5654
1
原创 二、类模板( Class Templates)
1 类似于函数模板,类模板也是类型的参数化。例子,在头文件中类模板声明和定义:#include <vector> #include <stdexcept> template <typename T> class Stack { private: std::vector<T> elems; // elements public: void push(T con
2017-12-27 19:28:30
1197
原创 一、函数模板(Function Template)
本系列是《C++Template》(作者:David Vandevoorde, Nicolai M. Josuttis)的学习总结。一:函数模板(Function Template)所谓函数模板是由参数表示的一系列的函数。函数模板可以被不同的类型参数所调用,使用时和普通的函数功能一样,不同的是函数模板在定义的时候参数的类型是未知的。1.1.、例子,模板定义template <typename T>
2017-12-23 16:52:31
7914
1
原创 kaldi 安装
一、预习安装包(系统Ubuntu)#install some package firstsudo apt-get install libtoolsudo apt-get install autoconfsudo apt-get install wgetsudo apt-get install perlsudo apt-get install subver
2017-08-25 19:08:11
4717
1
原创 EVP 对称加密
openssl evp 对称加密(AES_ecb,ccb)evp.h 封装了openssl常用密码学工具,以下主要说对称加密的接口enc_dec.cpp#include #include #include #include using namespace std;/** * @brief * * @param isStr [in] 明文数据 [in]
2017-06-27 19:25:54
2072
原创 cublas vs nervana
测试nervana 与 cublas的性能:矩阵A:[M,K]矩阵B:[K,N]矩阵C:[M,N]C = A * Bcode:test_nervana_vs_cublas.cpp#include #include #include #include #include #include "timer.h"using namespace std;#defi
2017-06-05 19:23:52
1149
原创 k-近邻算法
K-近邻算法机器学习与实战是对《机器学习实战》这本书的学习总结。一:k-近邻算法分析简单说,k-近邻算法采用测量不同特征值之间的举例方法进行分类。工作原理:存在一个样本数据集合,也称训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类对应的关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似的数
2017-05-19 20:08:05
616
原创 HDF5 使用介绍
1、HDF5介绍HDF 是用于存储和分发科学数据的一种自我描述、多对象文件格式。HDF 是由美国国家超级计算应用中心(NCSA)创建的,以满足不同群体的科学家在不同工程项目领域之需要。HDF 可以表示出科学数据存储和分布的许多必要条件。HDF 被设计为:自述性:对于一个HDF 文件里的每一个数据对象,有关于该数据的综合信息(元数据)。在没有任何外部信息的情况下,HDF 允许应用程序解释
2017-04-07 18:52:32
53129
2
转载 python tile函数
在看机器学习实战这本书时,遇到numpy.tile(A,B)函数,愣是没看懂怎么回事,装了numpy模块后,实验了几把,原来是这样子:重复A,B次,这里的B可以时int类型也可以是远组类型。>>> import numpy >>> numpy.tile([0,0],5)#在列方向上重复[0,0]5次,默认行1次 array([0, 0, 0, 0, 0, 0, 0, 0
2017-03-21 20:04:42
775
原创 SIMD
一、SIMDSIMD单指令流多数据流(SingleInstruction Multiple Data,SIMD)是一种采用一个控制器来控制多个处理器,同时对一组数据(又称“数据向量”)中的每一个分别执行相同的操作从而实现空间上的并行性的技术。在微处理器中,单指令流多数据流技术则是一个控制器控制多个平行的处理微元,例如Intel的MMX、SSE、AVX以及AMD的3D Now!技术,本文只介
2017-03-13 14:17:07
4021
原创 nnpack详解
NNPACK详解一:NNPACK简介NNPACK由facebook开发,是一个加速神经网络计算的加速包,NNPACK可以在多核CPU平台上提高卷积层计算性能。NNPACK采用的快速卷积算法是基于Fourier transform 和 Winograd transform算法。二:前向计算的性能如下图(Intel Core i7 6700K vs
2016-10-09 15:55:57
16188
原创 caffe 计算过程
caffe计算过程 一: caffe中Blob是数据存储的基本单位。层的计算过程是上一层的输出Blob作为本层的输入Blob,经过当前层的计算得到当前层的输出Blob(如下图,取自caffe教程)。作为初学者来讲,这还是有些抽象,本文将以网络模型lenet为例,讲解网络中层的计算过程。在讲解之前,先看Blob类,如下图:Blob类中包含了一个指向Sy
2016-09-08 22:04:55
2554
原创 caffe blobs 共享内存分析
caffe blobs 共享内存分析 一:caffe中内存分配情况 caffe层间的输入输出是以Blob为单位,每个Blob中存储有训练数据和梯度,caffe也给出了Blob级的接口函数。caffe在初始化阶段就会创建所有需要的内存,内存的消耗很大。尤其是对只做前向计算的情况,不必对所有的Blob都分配内存,前向计算过程中可以使用重用已经计算完成的Blob的内存,即:B
2016-09-03 10:06:25
2258
原创 Radix sort 基数排序
有关《GPU并行程序设计》(英文《CUDA ProgrammingA Developer’s Guide to Parallel Computing with GPUs》) 第六章 中基数排序,其中并行排序的多线程排序,由于没有具体较为详细的介绍,对于初次接触多线程的人略微困难。本文较为详细的介绍此多线程基数排序代码。一:在解释多线程的代码之前,先解释下单线程的串行代码,如下:
2016-07-22 18:47:21
6100
2
原创 CUDA C 矩阵乘优化
使用分块的矩阵乘法是比较常用的优化矩阵乘法的方式,作为初学CUDA的人来讲理解起莱还是略微有点困难的。同时矩阵乘法在HPC工程师面试的过程中也是被经常提到的。在CUDA的sample的目录下就有矩阵乘的程序,本简化其程序,尽可能间接清楚其中实现的代码。
2016-06-24 14:48:51
2774
原创 MIC卡驱动安装
KNC mic 卡驱动安装一:从Intel的官网获得MPSS 1、查看自己主机操作系统版本 【host】#cat /etc/*release 2.从Intel官网选择对应的MPSS版本(本文是redhat7.0),选择MPSS-3.7-linux.tar,如下图: 3.解压MPSS包: 【host】# tar -xvf m
2016-05-23 15:04:30
3316
4
转载 FPGA:下一代机器人感知处理器
FPGA:下一代机器人感知处理器 作者简介:刘少山,PerceptIn公司联合创始人。加州大学欧文分校计算机博士,研究方向包括智能感知计算、系统软件、体系结构与异构计算(FPGA、GPU)。现在PerceptIn主要专注于增强现实、虚拟现实、机器人的核心SLAM技术及其在智能硬件上的实现与优化。创立PerceptIn之前在百度美国研发中心工作。责编:周建丁(zhoujd
2016-05-14 22:07:20
919
原创 Nvidia GP100
一:介绍Nvidia 最新的加速卡 Tesla P100 使用了 GP100 核心,GP100采用了最新Pascal架构。Tesla P100 的关键特性: 1、极强的性能,半精度浮点性能达到21.2Tflops,单精度浮点性能达到10.6Tflps,双精度浮点性能达到5.3Tflops 2、NVlink技术 3、HBM2内存接口 4
2016-04-29 16:16:05
4549
原创 GPU视频编解码及性能质量测试基础
一视频编解码基础1.1识别编码流程视频编解码流程1.2 YUV颜色空间YCbCr通常是YUV的同义词,Y为明度(luma),CbCr为色度(chroma),Cb为 蓝色分量,Cr为红色分量。颜色空间转换公式:– RGB转YUV• y = [0.299,0.587,0.114] *[r,g,b]’• u = [-0.147,-
2016-03-08 10:33:30
12367
原创 CUDA安装
CUDA安装一:在NVIDIA官网下载安装包:cuda_6.0.37_linux_64.run关闭图形用户界面 init3以root身份登录,执行:#./ cuda_6.0.37_linux_64.run 默认安装位置:/usr/local/NVIDIA_CUDA-6.0_Samples配置CUDA开发环境变量二:将cuda bin和lib64目录
2015-08-06 17:01:15
715
原创 在NVIDIA GPU 上开发 openCL
在网上查了想在 NVIDIA GPU上来运行openCL , 结果大部分都是介绍在AMD GPU上开发的。所以在此写篇简单例子,介绍在NVIDIA GPU 上开发。NVIDIA的显卡上,cuda装好opencl就自然有了,所以装cuda=装opencl.以下代码是 功能是实现 向量加: C=A+B ,代码是参照一本介绍在AMD GPU上开发的openCL教程(具体记不清了),在此我
2015-08-06 16:31:45
2054
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人