自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(113)
  • 收藏
  • 关注

原创 wav文件头

// 这里得到可播放的音频文件 private void copyWaveFile(String inFilename, String outFilename) { FileInputStream in = null; FileOutputStream out = null; long totalAudioLen = 0; long totalDataLen = totalAudioLen + 36; long lo

2022-04-19 09:37:40 475

原创 pytorch inplace operation

+=add_第三种情况,对变量切片操作后赋值给原来的参数!!!!x[:,:,0] = x[:,:,0] * b

2022-03-10 18:47:18 163

原创 np.random

d

2022-03-09 10:54:58 104

原创 python -- resize / reshape

resize会对原值进行修改并且返回是None,reshape不会对原值进行修改,返回是修改后结果

2022-03-02 17:03:41 386

原创 dpr dsnr dcf

在这里插入图片描述

2022-02-28 11:55:49 144

原创 【无标题】

实车测试:1、定位B105-0104 daily版本测试时替换so后无法唤醒问题,拉取音频文件大小正确但幅值为0,替换回原包的so无法恢复。原因是该版本存在问题,每次替换so后需要下电、锁车、拔掉电瓶然后重新上电语音才正常。2、B105daily版本测试,完成回声场景50%音量,4x1x10识别测试;主驾、副驾2x9x10识别测试;目标主驾、副驾 的误闯2x3x9x10测试;4x9x10唤醒定位测试3、B105标准版本模型训练1、整理分析适配cbu14前端的34个模型(含中间模型),从指标及波形和

2022-01-09 23:17:27 1086

原创 获取ckpt中的变量,并打印变量值

with graph.as_default(): reader = tf.pywrap_tensorflow.NewCheckpointReader(ckpt_path) var_to_shape_map = reader.get_variable_to_shape_map() # 获取变量名 for key in var_to_shape_map: print("tensor_name: ", key) value = reader.get_ten

2021-10-22 17:37:18 189

原创 tf1加载tf2权重流程:

tf1加载tf2权重流程:1、获取到变量:var=get_variables(var_name) 或者tf.get_collection_ref(tf.GraphKeys.GLOBAL_VARIABLES)]2、变量赋值 : a=tf.assign(var,value) 或者 a=var.assign(value)3、变量赋值生效: sess.run(a)

2021-10-22 17:26:15 249

原创 tensorflow打印checkpoint里的变量名称和值

reader = tf.pywrap_tensorflow.NewCheckpointReader(ckpt_path)var_to_shape_map = reader.get_variable_to_shape_map()for key in var_to_shape_map:print("tensor_name: ", key)value=reader.get_tensor(key)if isinstance(value, np.ndarray):print(‘value:’,np.sha

2021-10-21 21:55:00 207

原创 实例讲解Python中的魔法函数

实例讲解Python中的魔法函数:https://zhuanlan.zhihu.com/p/344951719

2021-09-16 10:21:39 99

原创 注意力机制综述:基础原理、变种和最近研究

转载:https://www.pianshen.com/article/90361180727/

2021-08-18 20:57:35 101

原创 conformer

待续

2021-08-03 15:17:18 101

原创 汉字转拼音的方法

待续

2021-08-02 22:42:23 104

原创 ctc_loss 和 beam_search

ctc_lossbeam_search

2021-08-02 22:41:51 216

原创 ascii can‘t xxx

错误提示:ascii can’t xxxf=open()f_l=f.readlines()对f_l中的文本操作时,输出ascii can’t xxx调试过程:open加encoding参数无效{ open(xxx,encoding=‘utf-8’)};python文件首行指定编码方式无效;打印系统的编码方式显示为ascii;解决办法,对文本内容使用encode()函数进行编码!!!print(xx.encode('utf-8'))...

2021-07-29 22:12:13 95

原创 python--文件操作r r+, w w+, a a+

r只读,r+读写,不创建w新建只写,w+新建读写,二者都会将文件内容清零 (以w方式打开,不能读出。w+可读写)w+与r+区别: r+:可读可写,若文件不存在,报错;w+: 可读可写,若文件不存在,创建以a,a+的方式打开文件,附加方式打开 (a:附加写方式打开,不可读;a+: 附加读写方式打开)...

2021-06-22 16:22:59 149

原创 python -- decimal规则

Decimal中舍入规则大致有以下几种类型,做简单介绍一下:1)ROUND_UP:舍弃小数部分非0时,在前面增加数字,如 5.21 -> 5.3;永远进位2)ROUND_DOWN:舍弃小数部分,从不在前面数字做增加操作,如5.21->5.2;永远舍3)ROUND_CEILING:如果Decimal为正,则做ROUND_UP操作;如果Decimal为负,则做ROUND_DOWN操作;趋向正无穷4)ROUND_FLOOR:如果Decimal为负,则做ROUND_UP操作;如果Decimal为

2021-06-22 16:00:43 270

原创 python--切片中的索引,索引省略,布尔索引,花式索引

内容待补充。。。

2021-06-19 10:47:34 130

原创 python numpy -- tofile,fromfile,save,load

一,tofile()和fromfile()tofile()将数组中的数据以二进制格式写进文件,不保存数组形状和元素类型等信息fromfile()读入如数据,在读入数据时需要正确设置dtype参数,并reshape才能得到和原始数据一致的结果f='xxx.fea'arr1.astype('float').tofile(f)arr2=np.fromfile(f, dtype='float') #必须设置dtype且和保存时一致,否则结果错误二、save,load是NumPy专用的二进制格式保存数

2021-06-19 10:46:17 3366

原创 python -- 格式化

占位 待补充

2021-06-05 16:35:18 43

原创 python 通过布尔索引确定 True or False,替换0

a 是 numpy矩阵:a[a==0] = eps #将a中的0替换为eps值a[a<-1] = -1 #将a中小于-1的值替换为1使用where替换待补充。。。

2021-06-05 16:34:46 447

原创 DCT函数类型

2021-05-21 21:59:20 206

原创 房间冲击响应

房间冲击响应的求法1、房间传函(卷积和频域相乘的关系)2、白噪声,chirp信号测试传函的方法

2021-05-20 23:45:59 736

原创 tmux+conda环境配置不对问题解决

需要退出虚拟变量,conda deactivate # 退出虚拟环境,然后重新进入,conda activate env_name 否则tmux窗口下的环境不对

2021-05-20 23:10:52 2581 2

原创 给定表达式树的后续遍历,求表达式的值

class Solution: def calc_(self, expression): # 在此添加你的代码 res_final = expression.split(',') while (len(res_final) > 2): print(res_final) res = [] for i in range(len(res_final)): ...

2021-05-19 22:04:08 134

原创 python -- 等号复制,浅复制,深复制

等号复制,浅复制,深复制b = a, a修改可变数据类型 或 不可变数据类型, b都会和a保持一致b = a.copy() a修改可变数据类型,b会跟着修改; a修改不可变数据类型,b不变b = a.deepcopy() a修改可变数据类型 或 不可变数据类型, b都保持不变...

2021-03-29 21:10:09 748 1

原创 wav_norm

find peak of wav (abs peak)tmp= pow(10, -3.0 / 20) * (pow(2.0, 15) - 1); // //pow(10, -3.0 / 20) = 0.70794: scale 0.5 (-3db), 15 bits quantization, max value is (pow(2,15)-1)或者使用sart(2)/2* (pow(2.0, 15) - 1);scale * (wav[i] / max(abs_peak)) //norm pea.

2021-03-27 17:37:41 55

原创 fftconvlove 与 convlove 的区别; 参数{‘full’, ‘valid’, ‘same’}的设置

一、fftconvlove 与 convlove 的区别:fftconvolve 先做FFT,然后在频域相乘再转换为时域。 当序列较长时,可以利用FFT减少计算量加快运算速度。convolve 直接在时域进行卷积fftconvolve using the fast Fourier transform method. fftconvolve is generally much faster than convolve for large arrays (n > ~500), but can be

2021-03-12 10:41:56 1253

原创 C++ 中的 char* 与 string

char* 与 stringstring是一个容器,c++中封装了一个string类,char*则是一个指针,指向一个数组的首地址。string的内存管理是由系统处理,除非系统内存池用完,不然不会出现这种内存问题。char *的内存管理由用户自己处理,很容易出现内存不足的问题尽量使用 string 而不用 char* 。二者的转换: char*向string转换支持隐式类型转换,即: char* c[ ] = {1,2,3}; string p = c ; 而string转cha

2021-03-06 17:51:15 693 1

原创 python 静态函数 static_method

函数语法staticmethod(function)静态函数声明格式:class C(object): @staticmethod def f(arg1, arg2, ...):以上实例声明了静态方法 f,从而可以实现实例化使用 C().f(),当然也可以不实例化调用该方法 C.f()。例#!/usr/bin/python# -*- coding: UTF-8 -*- class C(object): @staticmethod def f():

2021-03-05 20:33:05 340

原创 TFLITE-1-模型转换

test

2021-03-03 15:22:39 154 1

原创 C++ 智能指针 std::unique_ptr, std::shared_ptr

为了更容易(同时也更安全)地使用动态内存,C++11标准库提供了两种智能指针(smartpointer)类型来管理动态对象:std::unique_ptr, std::shared_ptr。shared_ptr允许多个指针指向同一个对象;unique_ptr则"独占"所指向的对象。C++11标准库还定义了一个名为weak_ptr的辅助类,它是一种弱引用,指向shared_ptr所管理的对象。这三种类型都定义在memory头文件中。智能指针的行为类似常规指针,重要的区别是它负责自动释放所指的对象。智能指

2021-03-03 10:33:58 498

原创 c文件中的 extern “C“

c文件中的 extern “C”由于编译器对 C++ 和 C语言的函数名处理不同,在C++ 中调用 C 代码时, 需要在 C 代码中加上extern “C”, 用来告诉编译器这部分代码按C语言编译。C++支持重载,编译时会将参数类型也加到编译后的代码中,而C不支持重载,编译函数时一般只包含函数名,不会带上函数的参数类型。为了实现代码的复用,因此加上 extern “C”, 来兼容 C++ 中调用的C代码。需要注意, 不可以将extern “C” 添加在函数内部;如果函数有多个声明,可以都加exte

2021-03-02 11:13:36 149

原创 植入tflite源码,需要改动的内容

植入tflite源码,需要改动的内容: 1、修改interpreter.h , 改结构体Subgraph 为需要替换的名字, 删除声明TfLiteStatus Invoke(); 增加新的定义,为防止调用出错,将函数名改为TfLiteStatus Invoke_x() {},代码为interpreter中相应函数代码的移植 2、修改 将sugbraph.h 添加subgrap.h移动到工程目录,并重命名为 sugbraphx.h 修改结构体名称 Subgrap 为 Subgrapx, 可

2021-03-01 10:06:49 228

原创 Kaldi MFCC参数详解

MFCC的过程:预加重、加窗、DFT变换、梅尔滤波、DCT变换。此外在使用中还会对提取的MFCC参数进行 cmvn 变换和 vad 截取。MFCC过程使用的参数:参数的设置在单个结构体中:MfccOptions、FrameExtractionOptions、FbankOptions,分别位于三个头文件中:feature-mfcc.h, feature-window.h, feature-fbank.h。truct MfccOptions { FrameExtractionOptions fr

2021-02-26 17:38:09 764

原创 int *p(int); 和int (*p)(int)

int *p(int);p(int) 说明p为函数,返回值为 int类型的指针 (指向int的指针)。int (*p)(int);(*p)说明 p 为指针,(*p)() 说明该指针指向函数, 函数的返回值为int

2021-02-21 01:59:35 493

原创 对数组名不要取地址,对数组名不要进行++操作

1、对数组名不要取地址2、数组名代表数组的地址,也代表第一个元素的地址,但是不能对此地址进行++操作,如需使用指针访问,需重新定义一个指针,使其指向该数组,然后通过*(p++)依次访问数组中的值。 int a[3]={1,2,3}; for (int i=0;i<3;i++) { prinf("%d",*(a++); //错误,正确方法如下: } int *p; //重新定义一个指针,使其指向数组的首地址 p=a; for (int i=0;i<3;i++) {

2021-02-03 19:40:40 1859

原创 Kaldi 训练的模型转 tensorflow中的pb格式

分为两步:1、将kaldi模型转为onnx格式,使用工具Kaldi-ONNX Converter:https://github.com/XiaoMi/kaldi-onnx2、将ONNX格式转为TensorFlow中的pb格式,使用工具onnx-tensorflow:https://github.com/onnx/onnx-tensorflow

2021-02-01 14:29:01 248

原创 函数声明时 要不要 加 extern

待补充。。。1、通常做法–在.c中定义,在.h中extern出来,那么其他编译单元include这个.h文件就可以使用这个变量。2、函数如果定义在本.c文件中,或者定义在一个.h文件中并且本.c文件#include了这个.h就不用加extern,因为这两种情况下本.c文件都可以直接找到一旦有一个函数定义在另一个.c文件中,而你要想在本.c文件中使用的时候就必须用extern关健字声明一下,否则链接会出错。3、此外,函数申明默认就是extern的,所以函数声明前的extern可以省略不加。...

2021-01-23 17:48:51 5989

原创 #define 带参数的宏定义

#define SUM(a,b) a+b#define square(x) ((x) * (x))#define LOG_ERR(tag, str) printf(tag+str)

2021-01-23 17:29:49 251

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除