自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (13)
  • 收藏
  • 关注

原创 windows下绿色命令行Android studio环境搭建

进入android工程目录,找到gradle\wrapper\gradle-wrapper.properties,把distributionUrl这一行定义的gradle改为本地的gradle。sdk子目录下有一个platforms目录,里面存放的是android的不同版本的sdk,例如android-29,android-31...等等。在f:\android-dev目录下再建一个子目录gradle,用于存放需要的不同版本的gradle。另外,编译时也经常要去下载组件什么的,可能也会卡住。

2024-08-09 21:15:27 450

原创 3. 实战数字音频处理——HIFI DSP 的定点FFT/IFFT以及加窗和OLA操作实践2

从mic处收到的语音是连续的模拟信号,经过放大和AD采样之后,变成16bit位宽的连续的数字信号。而我们在处理数据的时候是按照固定长度来处理的,一方面便于设计算法,另一方面也是处理流程的要求。窗的类型有hamming窗,hanning窗等,加窗的主要目的一是为了降低频谱的泄露,二是为了保证信号的连续性。返回nshift表示Spec表示的频谱数据要右移nshift才是真正的值,相当于输出的频谱Spec中的数据被放大了2^nshift倍,提高了后续的计算精度。在这里,我们进行了一个简单的变化,把幅度变为一半。

2024-08-09 19:04:58 1000

原创 2. 实战数字音频处理——HIFI DSP 的定点FFT/IFFT以及加窗和OLA操作实践1

我们的工程是基于makefile命令行编译的,所以你只要在compile标签下执行xt-make all命令即可。这一步涉及到时域信号的分帧,加窗,短时傅里叶变换(stft)等。然后运行一个批处理,“一键开发dsp.bat”,就会出现三个dos标签,分别是debug(调试),load(加载),compile(编译)然后经过一系列的频域信号处理,最后经过短时傅里叶逆变换(istft),加窗,OLA操作,最终恢复成时域信号。首先熟悉一下开发板,这是一个typec接口的小白盒,用typec线连接到电脑就可以了。

2024-08-09 15:25:46 1481

原创 玩转pytorch和tensorflow之(7)——实战(2) pytorch训练MNIST网络,tensorflow预测

到这里,第一步完成了,得到了pytorch训练的网络。接下来,我们用这个网络的参数,输入到构造相同的tensorflow网络,并做预测。这些都是numpy的数据格式,需要转换为pytorch的tensor。需要注意的是,标签必须要转换为long型的tensor。最后,我们调用tensoflow的网络进行预测(网络结构请参考上一篇《数据集需要转换为pytorch的格式。这里只涉及到dense层,方法以及原理参考我的博文《有了数据集,接下来定义网络结构,并开始训练。》中用到的本地数据集mnist.npz。

2024-08-09 11:17:08 588

原创 玩转pytorch和tensorflow之(6) ——实战(1) tensorflow训练MNIST网络,pytorch预测

这里只涉及到dense层,方法以及原理参考我的博文《https://blog.youkuaiyun.com/geastwind1/article/details/140993640》一共训练10个epoch,采用’adam’作为优化器,loss函数用‘sparse_categorical_crossentropy’,用于多分类问题。可见预测结果为数字’3’,结果正确,与tensoflow下预测结果完全一致。这是一个非常简单的网络,有参数的只有3个dense层。保存的参数模型后面参数转换需要使用。

2024-08-09 09:28:46 399

原创 1. 实战数字音频处理——引子 认识Xtensa HIFI DSP

例如我现在用的这一个DSP平台,50元上下就可以得到,而且不需要额外的加载器和调试器,一个火柴盒大小的设备,连接上电脑就可以使用,非常方便,用python完成加载和调试。有需要的可以私信我。DSP处理器是采用哈佛总线结构,代码总线和数据总线分开,有的DSP处理器为了增加数据流量,数据的Load(可以理解为读)和Save(可以理解为写)也是分开的,甚至有多条Load/Save总线。DSP一般都是定点的,例如我们会见到q31_t,q15_t,q7_t等数据类型定义,对应Q31,Q15,Q7的定点数据类型。

2024-08-08 13:14:50 1606 2

原创 玩转pytorch和tensorflow之(5)——全连接层

全连接层在tensorflow中是叫Dense层,在pytorch中叫线性层(Linear),全连接层可以将输入特征与每个神经元之间的连接权重进行线性运算:矩阵乘法和偏置加法操作,得到最终输出结果,它确确实实是一个线性单元。Dense(units=8)的weight形状是(4,8),bias形状是(8,)注意Dense不需要定义输入的通道,它自己会根据输入的形状定义获取输入的通道。假定输入的通道数目是4,输出的通道数目是8,输入的形状是(1,5,6,4)。好了,全连接层的转换已经完成,你自己去试试看吧。

2024-08-08 08:36:24 548

原创 玩转pytorch和tensorflow之(2)——conv2d

tensorflow的'valid'表示不padding,对应pytorch是(0,0),'same'表示输出形状和输入保持一致,pytorch需要根据输出输入的维度变化公式计算padding的数值。例如对于(2,3)的卷积核,输入4通道输出8通道,则weight权重的形状是(2,3,4,8)而同样的配置下,pytorch的weight权重的形状是(8,4,2,3)transpose(0,3,1,2),输出再转置回来,保持和tensorflow是一样的。permute(2,3,1,0),bias是一样的。

2024-08-08 08:11:43 550

原创 玩转pytorch和tensorflow之(4)——GRU

而pytorch的GRU则有weight_ih_l0,weight_hh_l0,bias_ih_l0,bias_hh_l0这4组参数。你需要把kernel,recurrent_kernel,bias转换到weight_ih_l0,weight_hh_l0,bias_ih_l0,bias_hh_l0上去。OK,你已经有了一个GRU模块,tensorflow下训练的,现在你想用训练好的GRU模型的参数在pytorch环境中来做推理。3)由bias_ih_l0,bias_hh_l0得到bias。

2024-08-08 07:06:41 753

原创 玩转pytorch和tensorflow之(3)——layernorm

与 BatchNormalization不同的是,LayerNormalization 是在指定的特征维度上进行归一化的,而BatchNormalization是在数据批次维度上进行归一化的。torch的LayerNorm转tensorflow的LayerNormalization,过程和上面类似,torch中的weight参数和bias参数需要做reshape才能给到tensorflow。注意有一个reshape。模型的输入维度定义:[1,2,3,4],最后两维是[3,4],将会对这两个维度归一化。

2024-08-07 21:56:58 485

原创 windows下用ConEmu启动分组命令行

假如你建立了一个目录叫做work2024,里面有一个proj的子目录是你的工程所在位置,把这个批处理文件丢在work2024目录下面,运行起来之后,会自动生成上述的三个dos界面,分别用于调试,加载和编译。它是一款多文档界面的dos窗口,就是说,虽然只有一个GUI界面,但是可以通过选择不同的标签激活需要的页面,实现多个dos命令窗口的切换。命令行工具以其高效,简洁,方便,是许多事务的必选操作工具,例如命令行编译,命令行加载程序,命令行调试等。-Title 定义显示在标题栏中的内容,例如这里是一键下载。

2024-08-06 20:00:17 496

原创 用makefile作为神经网络训练/推理的入口

假如你有一个神经网络需要训练,假设名叫basenet,然后需要训练不同的参数下的版本,比较性能上的差异,于是可以在basenet中放置网络的定义,训练脚本train.py,推理脚本infer.py,还有其它需要的脚本...,然后建立和basenet平行的目录,例如basenet-1,basenet-2,...这些目录只需要放一个makefile以及训练参数的定义config.py,他们之间只有config.py有差异。进入到basenet的上一层,我这里是makefile-train,输入命令即可。

2024-08-06 19:26:59 330

原创 玩转pytorch和tensorflow之(1)——batchnorm

pytorch的BatchNorm2d需要把归一化的维度放到C所在的维度,对应维度索引[0,1,2,3]中的1,所以做了一个转置,输入的形状变为BWCH,把需要归一化的维度调到1。输入的形状为[1,2,3,4],BatchNormalization中的epislon参数对应BatchNorm2d 的eps参数,这里取1e-5。输入的形状为[1,2,3,4],BatchNormalization中的epislon参数对应BatchNorm2d 的eps参数,这里取1e-5。

2024-08-03 21:49:52 384

原创 彩色化输出你的print——用loguru替换print

loguru是一款日志记录工具,可以把日志用彩色的方式输出到控制台终端,也可以同时输出到文件中。和print接口用法完全一致,支持可变参数,可以直接替换print,同时可以用颜色突出重点,同时输出时间戳和打印语句所在的位置。在python中我们经常要用print输出一些打印信息,一旦打印信息过多,由于信息没有颜色标记,重点不够突出,想要关闭也不容易找到位置。然后找到loguru安装的目录,一般是在python环境的Lib\site-packages\loguru目录。2.修改下面几个函数,用于彩色输出。

2024-08-03 20:03:25 682 1

原创 用vs studio编译一个c python 模块

这个helloworld模块只定义了一个接口,外部的名字是helloworld.hello,内部实现的函数是helloword(PyObject* self, PyObject* Py_UNUSED(args));这里模块名称是'helloworld',这里源文件只有一个:'src/helloworld.c'。下载后展开到webrtcvad-2.0.10目录,到该目录运行python setup.py build install即可编译并安装。最后,我们可以编译复杂的模块,例如webrtcvad等。

2024-08-03 19:09:58 522

原创 windows下搭建python的C模块的visual studio编译器

如果你安装的虚拟python目录是X:\virtual_python\Python38_msvc,那么就是X:\virtual_python\Python38_msvc\Lib\site-packages\setuptools\_distutils\_msvccompiler.py和X:\virtual_python\Python38_msvc\Lib\site-packages\setuptools\msvc.py。重申一下,想要省心省力的话,编译器可以用免安装的。这一句注释掉,改成了。

2024-08-02 13:23:08 746

支持断线自动连接的tcp client

支持断线自动连接的tcp client

2024-08-09

《实战2-pytorch训练MNIST网络,tensorflow预测》对应的资源和脚本

《实战2-pytorch训练MNIST网络,tensorflow预测》对应的资源和脚本

2024-08-09

《实战1-tensorflow训练MNIST网络,pytorch预测》对应的资源和脚本

《实战1-tensorflow训练MNIST网络,pytorch预测》对应的资源和脚本

2024-08-09

将makefile用于训练神经网络的框架

将makefile用于训练神经网络的框架

2024-08-06

STM32开发指南-库函数版本 V1.2

STM32开发指南-库函数版本 V1.2, 战舰版

2015-10-17

杰理蓝牙AC690X系烧录程序指导

杰理690X系烧录程序指导,适合杰理AC6901,AC6905,AC6907等AC690X蓝牙芯片的烧录

2023-07-01

源文件格式化(lua脚本,打包成exe)

源代码美化工具,对c,cpp,java等类型的代码进行美化。 可以设置tab的宽度。

2012-10-20

安卓系统的系统镜像压缩文件API20

安卓系统的系统镜像,android system image of API 20

2019-03-25

编译好的insight,带源文件

编译好的insight,带源文件,用于调试

2015-01-26

蓝牙 录音 测试apk

蓝牙耳机 录音 测试

2016-08-22

蓝牙 microphone的apk

蓝牙 mic

2016-08-22

vc调用C#例子

VC调用C# COM的例子,包括C# com,VC直接调用C#,VC 封装dll调用C#

2014-10-24

Sandboxie-5.06-portable.zip

可用于windows7 64bit(windows10 未测试,应该也可以用,5.33版本的以及更新的版本在windows7下不能用) 1.启动:双击start.cmd 2.构造沙盒环境 指定好沙盒的保存地址(可以直接修改本地sandboxie.ini,FileRootPath=e:\Sandbox\%USER%\%SANDBOX%) 建立新的沙盒,如mybox 在沙盒中安装需要的软件,例如百度网盘等 可以建立多个沙盒,对应不同的工作界面。 3.在沙盒中运行 a)选择mybox=>右键=>run sandboxed=>run from start menu=>选择需要启动的软件 b)直接把可执行的拖到沙盒中运行,选择mybox 4. 退出沙盒后,以前运行的配置还在。 5. 沙盒类似一个docker,并且存在可迁移性,可以用于免安装快速建立多个工作环境。

2020-07-10

GE 安卓照度计-视力保护助手

照度计的应用场合很广泛,厂房,学校,图书馆,商务楼,酒店,商业展厅,实验室,计算机房等等,这些地方都要用到照度计,可以夸张的说一下,只要有亮光的地方,就可能用到照度计来测量当前的照度。 本软件是一款精致的照度计软件,其原理是利用android的光线传感器,为用户提供了一个测试环境亮度的实用工具。可以测量学习,工作,娱乐等场所的光照强度,并提供表盘和数字双重显示。特别是对广大家长和学生有一定帮助,可以指导、安排学习环境的照明,为学习创造合适的亮度,避免长期因为光线过强或者过暗导致的近视。是一款很好的视力保护助手。

2013-08-28

cdependancy.exe

一个显示C/C++依赖关系的工具,可以显示一个工程中及子目录中所有的.C/.CPP和.h/.HPP和其他文件的依赖关系图,主要用于优化工程中的文件/模块的架构和接口。还可以把依赖关系导出为pdf文件。

2014-05-23

Tesseract-OCR.7z

Tesseract-OCR windows 下直接运行的二进制包

2015-01-21

TWinExecute

dos重定向控件,用于执行别的程序,捕获dos输出

2015-04-23

insight 6.6 源码,mingw下可编译

insight 6.6 源码,mingw下可编译

2015-01-21

空空如也

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

TA关注的人

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