自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (1)
  • 收藏
  • 关注

原创 基于K8s的演示用单机ML服务部署

这是仅用一台机器(比如一台MacBook)模拟在k8s上部署一个机器学习服务的演示用实例。项目地址:https://github.com/HarmoniaLeo/Local-K8s-ML-Demo。

2025-04-04 13:32:06 1011

原创 基于Minimax&Alpha-Beta剪枝和强化学习的播棋(Mancala)AI

播棋(Mancala),或译非洲棋,阿拉伯语是搬运的意思,是一种两人对弈的游戏,特色是如播种般过程不断搬移宝石一一放入进盘中,普遍流行于非洲国家。Mancala包括14个盘,其中两个是记分盘,另外12个则分配给两个玩家。开始游戏时,在12个非记分盘中分别放置了四个宝石。玩家通过选择六个含有宝石的非计分盘中的一个来进行移动。选中的盘子中的所有宝石都被捡起,然后将每块宝石一次性放置在下一个盘子中,以逆时针方向移动。可以在十二个非计分盘以及当前玩家的计分盘中放置一块宝石,对手的得分盘将被跳过。玩家之间交替比赛。

2022-08-21 23:47:24 2603

原创 基于MTCNN和FaceNet的实时人脸检测识别系统

MTCNN是强大的人脸特征提取器,我们采用MTCNN提取图像的特征,并利用FaceNet将图像特征映射到128维特征空间,随后在特征空间中比较人脸的相似性,进行人脸检测与识别。

2022-08-07 14:06:40 6800 5

原创 用广搜和动态规划写个路径规划程序

GitHub项目地址:https://github.com/HarmoniaLeo/Search-Map设计内容要求在生活中常常遇到需要得出从一个起点出发,在最短的路程内经过所有目的地的方案。比如,在货运物流和邮政当中,需要得出一辆运货载具从发货点出发,经过所有目的地的最短路程,以便节约成本;对于一个景区,往往需要向游客提供一次性游览所有景点的最短线路,从而让游客有最佳的游览体验。然而,常规......

2022-08-06 17:21:17 413

原创 【基于pyAudioKits的Python音频信号处理(八)】语音增强:谱减法、维纳滤波和卡尔曼滤波

本节介绍从语音信号中滤除噪声,从而增强语音信号的方法。将对谱减法、维纳滤波和卡尔曼滤波及其使用pyAudioKits的实现进行介绍。

2022-08-01 09:33:48 7032 6

原创 【基于pyAudioKits的Python音频信号处理项目(二)】深度学习语音识别

本节介绍一个使用pyAudioKits读取并提取音频特征,然后使用深度学习方法来进行语音识别的小项目。我们将提取梅尔频谱作为特征,用Keras+Tensorflow来搭建一个简单的卷积神经网络分类器,实现0-9这十个语音数字的识别。......

2022-08-01 09:16:31 2061

原创 【基于pyAudioKits的Python音频信号处理(七)】端点检测和语音识别

在介绍完通用音频后,本节进一步开始对语音信号进行研究。通用音频的理论和分析方法均适用于语音信号,而语音信号又有更多进一步的属性和分析方法,以及一些特有的任务。本节将主要对语音的端点检测和语音的特征提取和识别用pyAudioKits的实现方法进行演示。其中端点检测使用双门限法,而特征提取和识别使用MFCC+DTW方法。......

2022-08-01 09:11:58 4395 7

原创 【基于pyAudioKits的Python音频信号处理项目(一)】实现音频频谱分析仪并进行交互式滤波器设计

Filter-Artist基于pyAudioKits开发,实现了一个STFT语谱图定位滤波分析系统,这个系统旨在对音频信号进行短时傅里叶变换。而且,为了更好地对语谱图进行分析,我们让用户可以借助GUI,使用鼠标,在特定时间的特定频点设置巴特沃斯滤波器,交互性地提取自己感兴趣的信号成分、屏蔽噪声,观察滤波后的波形并实时播放滤波后的音频。......

2022-08-01 08:57:31 1454

原创 【基于pyAudioKits的Python音频信号处理(六)】LTI滤波器

本节将介绍线性时不变系统理论,并引出LTI滤波器的概念。本节还将分别讨论FIR和IIR滤波器,并介绍使用pyAudioKits实现这两类滤波器的方法。该部分专业性较强,pyAudioKits对这一方面仅实现基本的支持。可以将pyAudioKits与SciPy的信号处理工具箱结合使用。...

2022-08-01 08:41:04 1196

原创 【基于pyAudioKits的Python音频信号处理(五)】音频信号的短时分析方法

前两节的所用到的分析方法都是对整个音频应用的,得到的能量、功率、自相关函数、频谱、功率谱等信息反映的都是音频的整体特点。分帧加窗使得我们可以分析音频的短时特点。当使用的窗长足够小时,我们可以将每个窗口内的音频视为由频率成分恒定的确定信号和服从平稳随机过程的随机信号组成,从而在每个窗口内运用前两节中提到的分析方法。...

2022-08-01 08:27:10 810

原创 【基于pyAudioKits的Python音频信号处理(四)】傅里叶变换:从时域到频域

上节中对乐音和噪音的分析使用的方式均为时域分析的方法。本节我们将引入频域的概念,并介绍如何在频域分析音频信号。

2022-08-01 07:58:11 2529

原创 【基于pyAudioKits的Python音频信号处理(三)】乐音和噪音

音频信号分为乐音与噪音两种类别。其中,发音物体有规律地振动而产生的具有固定音高的音称乐音,而噪音则是发音物体随机振动产生的没有固定音高的声音。本节将;l利用pyAudioKits API模拟生成乐音和噪音,分别讨论两种类型的音频信号及各自的性质,并讨论它们之间的联系。......

2022-08-01 07:28:30 1754

原创 【基于pyAudioKits的Python音频信号处理(二)】数字音频信号的表示

pyAudioKits提供了音频录制的api。经过量化、采样、截断后,音频信号就被表示为了能在计算机中储存的、以向量方式表示的数字音频信号,而采样率、持续时间等则是音频信号最基本的属性。

2022-08-01 07:18:12 758

原创 【基于pyAudioKits的Python音频信号处理(一)】pyAudioKits安装与API速查手册

pyAudioKits是基于librosa和其他库的强大Python音频工作流支持。本节是pyAudioKits API的速查手册。本项目的GitHub地址为https://github.com/HarmoniaLeo/pyAudioKits,如果这个项目帮助到了你,请为它点上一颗star,谢谢你的支持!............

2022-08-01 07:06:47 4692 3

原创 【原理+源码详细解读】从Transformer到ViT

文章目录参考文献简介Transformer架构Position EncodingSelf-attentionMulti-head Self-attentionMasked Multi-Head Self-attentionLayer NormalizationFeed Forward NetworkEncoder LayerEncoderDecoder LayerDecoder总体流程ViT流程图片分块Patch EmbeddingClass TokenPosition EncodingTransforme

2021-11-03 12:03:36 1287

原创 深入浅出最优化(8) 拉格朗日乘子法

1 拉格朗日乘子法的数学背景当使用前面介绍的罚函数法求解约束问题时,为获得足够好的近似解,罚参数需取足够大的值,这将导致增广目标函数的黑森矩阵出现病态,从而导致数值计算上的困难。因此提出拉格朗日乘子法。学高数的时候我们就学过等式约束条件下的拉格朗日乘子法。延续前一节中对约束最优化问题的定义,则拉格朗日函数为L(x,μ)=f(x)−∑j∈Eμjhj(x)L(x,\mu)=f(x)-\displaystyle\sum_{j\in E}\mu_jh_j(x)L(x,μ)=f(x)−j∈E∑​μj​hj​(x)

2020-05-14 11:59:27 2813 4

原创 深入浅出最优化(7) 罚函数法

1 约束最优化问题1.1 约束最优化问题的基本结构在我们讨论完无约束最优化问题后,我们接着讨论约束最优化问题。在无约束最优化问题中,我们默认了可行域为RnR^nRn,然而在约束最优化问题中,我们需要为可行域做出一些限制,因此衍生出了一些与无约束最优化问题不同的、独有的性质。一般约束最优化问题的表达为:{minf(x)gi(x)≥0,i∈I={1,2,...,m1}hi(x)=0,j∈E={m1+1,...,m}\begin{cases}minf(x)\\g_i(x)\geq0,i\in I=\{1,

2020-05-14 11:57:43 11156 3

原创 深入浅出最优化(6) 最小二乘问题的特殊方法

1 基本数学表达在前面3节中,我们使用了不同下降方法来求解同一个非线性最小二乘问题,但其实非线性最小二乘问题只是这些下降方法能够求解的问题当中的一个特例。接下来要介绍的方法,将是专门针对非线性最小二乘问题设计的,具有非常优良的相性。由于非线性最小二乘问题的应用广泛,这个方法的介绍也是尤为重要的。下面来看一些基本的数学表达:梯度:g=∇f(x)g=\nabla f(x)g=∇f(x)黑森矩阵:G=∇2f(x)G=\nabla^2 f(x)G=∇2f(x)雅可比矩阵:J(x)=[∂y1∂x

2020-05-14 11:55:57 1185

原创 深入浅出最优化(5) 共轭梯度下降法

1 共轭方向的定义对于正定二次函数f(x~)=12x~TG~x~+b~Tx~f(\tilde{x})=\frac{1}{2}\tilde{x}^T\tilde{G}\tilde{x}+\tilde{b}^T\tilde{x}f(x~)=21​x~TG~x~+b~Tx~,其中GGG是n×nn\times nn×n对角阵,对角元均为正数,这种情况下函数关于原点中心对称,每列由一个n元向量组成,向着每个维度,即正交搜索方向d~\tilde{d}d~,作一次精确线搜索就可以得到最小值的精确解,具有二次终止性。这个

2020-05-14 11:26:53 4591

原创 深入浅出最优化(4) 拟牛顿法

1 拟牛顿法的数学基础对于牛顿法,我们保留其快速收敛性,同时克服牛顿法黑森矩阵需要正定的问题以及避免计算黑森矩阵以减少计算量,我们提出了拟牛顿法。假定当前点为xk+1x_{k+1}xk+1​,若我们用已得到的xk,xk+1x_k,x_{k+1}xk​,xk+1​及其一阶导数信息gk,gk+1g_k,g_{k+1}gk​,gk+1​,构造一个正定矩阵Bk+1B_{k+1}Bk+1​作为Gk+1G_{k+1}Gk+1​的近似。这样根据牛顿法下降方向的产生公式∇2f(xk+1)dk+1=−∇f(xk+1)\n

2020-05-13 17:38:00 926 1

原创 深入浅出最优化(3) 最速下降法与牛顿法

1 下降算法中的搜索方向1.1 下降方向的判定根据泰勒展开f(xk+αkdk)=f(xk)+αkgkTdk+o(∣∣αkdk∣∣2)f(x_k+\alpha_kd_k)=f(x_k)+\alpha_kg^T_kd_k+o(||\alpha_kd_k||^2)f(xk​+αk​dk​)=f(xk​)+αk​gkT​dk​+o(∣∣αk​dk​∣∣2),忽略极小项后,我们可以在xkx_kxk​点处找到f(x)f(x)f(x)的一条切线s(α)=f(xk)+gkTdkαs(\alpha)=f(x_k)+g_k

2020-05-13 12:13:32 5811

原创 深入浅出最优化(2) 步长的计算方法

在上节中本教程介绍了迭代搜索的基本步骤。考虑基本步骤中的每一步的基本元素:步长、下降方向和终止准则,其中终止准则是我们已经明确给出的,而步长和下降方向可以是任意的。但任意并不代表随机,一个随机的迭代搜索算法是无法保证收敛性的。步长和下降方向需要我们针对每一步搜索到的点的情况来求解,不仅要保证算法的收敛性,还要使得算法具有尽可能快的收敛速度。在本节中本教程将介绍迭代搜索过程中步长的计算方法,而下降...

2020-05-07 00:11:48 10543

原创 深入浅出最优化(1) 最优化问题概念与基本知识

1 最优化问题1.1 什么是最优化问题最优化问题大体上分为连续最优化问题和离散最优化问题两种。后者涉及到离散数学、组合数学等学科,属于计算机专业的专业课程,而前者的雏形在微积分课程中,甚至在高中、初中、小学的数学课堂上就有所涉及。我们还记得求一个定义域内连续可微的一元实函数的最小值点的求解方法:求导,寻找导数为0的点,再求二阶导,这些点当中二阶导大于0的点是我们需要的极值点,再将这些极点对应...

2020-05-06 01:18:09 5398

原创 EE103(5):使用线性代数知识进行弹道计算

仿真实验原理建模假设一个物体在二维平面中移动。对位置和速度在τ=0,h,2h,...\tau=0,h,2h,...τ=0,h,2h,...上进行采样。长度2向量ptp_tpt​是τ=0,h,2h,...,(T−1)h\tau=0,h,2h,...,(T-1)hτ=0,h,2h,...,(T−1)h时刻的位置向量长度2向量vtv_tvt​是τ=0,h,2h,...,(T−1)h\tau=...

2020-04-09 21:45:34 763

原创 EE103(4):文本线性处理

预处理实验原理词向量维护一个包含了n个不同单词的词向量每个词在文件中的出现次数用词向量a⃗\vec{a}a来储存,aia_iai​表示词i在文本中出现的次数h⃗=a⃗1⃗Ta⃗\vec{h}=\frac{\vec{a}}{\vec{1}^T\vec{a}}h=1Taa​是词频向量,或者直方图向量语料库矩阵收集N个文本,每个文本计算其直方图词向量,以(h1T,h2T,...,hNT)(...

2020-04-09 21:36:21 488

原创 EE103(3):时间序列分析

EE103课程应用的所有代码在这里采样下降采样k× 下降采样时间序列每k个点采样一次x,可以被写成y=Axy=Axy=Ax,最终得到的时间序列长度为原来k分之一对于2× 下降采样时间序列,A的样式为:上升采样k× 上升采样通过插值来增加时间序列长度,可以被写成y=Axy=Axy=Ax,最终得到的时间序列长度为原来k倍对于2× 上升采样时间序列,A的样式为:以10为周期,在200时间...

2020-04-09 21:20:55 642

原创 EE103(2):图像线性处理

不使用opencv的库函数,完全运用numpy和线性代数知识,我们能在多大程度上处理图像呢多通道转单通道可以使用(r,g,b)=(1/3,1/3,1/3)来转换也可以使用(r,g,b)=(0.299,0.587,0.114)来转换原图(pixiv id:490219):两种转换方式结果对比亮度、对比度y=ax+[(1−a)avg(x)+b]⋅1y=ax+[(1-a)avg(x...

2020-03-09 04:45:28 614

原创 EE103(1):librosa实现音频基本处理+乐音三要素原理解析

声音的向量表示原理向量x∈RNx\in R^Nx∈RN表示时间区间上的音频信号,xix_ixi​表示t=hit=h_it=hi​时的声压xi=αp(hi),i=1,...,Nx_i=\alpha p(h_i),i=1,...,Nxi​=αp(hi​),i=1,...,N每个xix_ixi​称为样本h(>0)为采样时间1/h为采样率,典型的采样率为1/h=44100/sec1/h=...

2020-03-03 16:21:51 1636 6

原创 算法学习笔记(3) RSA原理与证明

1.非对称加密RSA是一种非对称加密算法。由消息接收者将公钥发送给消息发送者,使用容易被截获的公钥来加密;把私钥一直保存在消息的接收者处,使用不容易被截获的私钥来解密。这样即使攻击者截获了公钥也无法获取加密后的内容。这种算法还可以用于数字签名。使用发送端的私钥来加密数字签名,使用发送端传输给目标端的公钥来解密数字签名,如果解密成功,证明消息发送端是可靠的。而因为私钥难以获取,攻击者也难以用共钥...

2019-09-28 02:57:44 678

原创 web技术笔记(3):科学地应对教务系统

前言某双一流大学的教务系统在经历了最近的船新版本更新后成功改变了开放抢课后1小时内服务器404的状况,变成了开放抢课后一天甚至两天内,用大大的Internal Sever Error迎接每一位学生的到来。一时间空间朋友圈舆论哗然,自嘲挖苦的段子层出不穷,慷慨激扬的抨击也自然不少。对于这些言论,作为暑假以来两次选课分别抢到了太极拳、教务系统开放五分钟内选到了公选的笔者,在这里利用fiddler这个...

2019-09-01 23:57:25 175

原创 数模(7):灰色预测模型

介绍灰色预测模型是对少量数据进行拟合确定方程的一种模型,通过累加的方式减少数据中的不确定因素。记原始序列为x(0)=(x(0)(1),x(0)(2),...,x(0)(n))x^{(0)}=(x^{(0)}(1),x^{(0)}(2),...,x^{(0)}(n))x(0)=(x(0)(1),x(0)(2),...,x(0)(n)),一次累加生成序列为x(1)=(x(0)(1),x(0)(1)...

2019-08-23 00:42:19 473

原创 数模(6):Leslie矩阵人口模型

上期中介绍了两种利用非线性函数拟合人口与物种增长趋势的方法。这两种方法都可以用于对人口与物种增长的总体趋势进行预测,但预测不够精细。我们知道在正常社会条件或自然条件下,生育率与死亡率是与群体的年龄构成息息相关的。我们需要对整个群体按年龄进行层次划分,构建与年龄相联系的人口模型。典型的例子就是Leslie矩阵模型。Leslie矩阵介绍我们把整个社会中的人群按年龄等距分成n组,每组中该年的人口总数...

2019-08-21 23:48:42 26176 6

原创 最快捷有效的Au贴唱流程攻略

1.降噪点进录音切换到单轨模式效果->降噪\恢复->降噪(处理)3. 选择一段时间选区,点击捕捉噪声样本4. 调节降噪比率与降噪幅度(一般后者不用修改),降噪比率大概调整到50%左右5. 也可以低比率多次降噪2.修复喷麦和杂音等单纯的一段杂音在单轨模式中用时间选区工具选择并用delete删除即可打开频域视图,用污点修复画笔工具修复频域中存在杂音的频段图像...

2019-08-20 12:40:02 2590 1

原创 数模(5):Malthus和Logistic模型

Malthus拟合和Logistic拟合是两种最典型、应用最广泛的拟合模型。它们分别被用于预测人口增长和物种增长,因此被广泛应用于社会学与生物学领域。Malthus拟合通常情况下,每年的人口死亡率与出生率是相同的。因此可以设每年的人口增长率为常数,我们记时刻t的人口数目为x(t),记初始时刻的人口数目为x0x_0x0​,则有:$\begin{cases}\frac{dx}{dt}=rx(...

2019-08-15 09:59:05 8798 1

原创 数模(4):一般曲线拟合

上期讲解的拟合方法其共同点都是计算残差平方和函数,对每个系数求偏导,令偏导为0后得到的方程都是关于系数的线性方程,因此可以简单地运用线性代数知识求解。我们再来看这样一个函数。y=eax+sinbx+cxy=e^{ax}+sinbx+cxy=eax+sinbx+cx这个函数既不是线性函数,其系数之间也不是线性关系。如果我们依然重复之前的步骤,得出的方程组就会十分复杂。设有N个点坐标为(xi,y...

2019-08-14 04:07:30 815 1

原创 数模(3):线性、多项式、简单曲线拟合

1.线性函数拟合先来看最简单的例子,对于线性函数y=ax+by=ax+by=ax+b,可以使用最小二乘法来确定a、b两个系数。对于N个点,x值对应函数值与y值的差值平方和(残差平方和)作为目标函数,分别对a、b求偏导,令偏导为0,得到两个方程,联立解得系数。设有N个点坐标为(xi,yi),i=1,2,...,N(x_i,y_i),i=1,2,...,N(xi​,yi​),i=1,2,...,N...

2019-07-30 23:47:08 2632

原创 数模(2):货物存储问题

某厂每次生产时需要付生产准备费5000元,产量大于需求时多出的部分每天每件需要支付储存费1元,产品日需求量为100件,设每次产量可以任意取值,求该厂多少天生产一次,每次产量多少,可以使得总费用最小?1.无缺货情形首先该模型不允许缺货,因此每次产量不能低于生产周期内的需求量。其次过剩生产也没有好处,因为一个周期内的需求量是固定的,一个周期内的过剩生产导致的库存积压只会导致不必要的储存费增加。所以...

2019-07-27 17:15:59 1255

原创 数模(1):公平分配问题

某学院有3个系共200名学生,其中甲系103人,乙系63人,丙系34人,分配20个院学生会主席团席位,如何分配才公平?如果分配21个,该如何分配呢?1.将按比例取整损失作为目标函数最先想到的方法就是按比例分配。甲、乙、丙三系人数分别占总学生数的51.5%、31.5%、17%。在分配20个学生会主席团席位时,分到的人数应分别是10.3、6.3、3.4。因为人数不能是小数,将人数向下取整,则分到...

2019-07-26 21:34:30 7409

原创 C#数据结构(4) 稀疏矩阵与稀疏方阵

导言线性代数是大学理工科学生的必修课。学过线性代数的同学一定对矩阵不陌生,因为线性代数就是一门关于矩阵的学科。程序设计中有一种储存数据的方式是二维数组,而二维数组本质上就是矩阵。但是,假如我们想要用二维数组去储存一个大规模的矩阵并进行运算的话,会造成很大的资源浪费。举个例子,假如我们想要用二维数组去储存一个20W*20W的单位矩阵,事实上其中只有20W个数是1,其他数字都是0。所以,我们或许可...

2019-06-19 21:38:55 1035

原创 web技术笔记(2):科学地应对运动平台

到了大学,学生们会被强制下载一个运动平台app。每学期必须在手机开启该app的情况下到规定的地点在规定时间内跑规定的距离,完成的次数则和期末体育成绩的一部分挂钩。我们先不评判这种做法的优劣,只是从个人角度出发,我非常反对被别人规定来规定去的体验。况且我的手机GPS信号非常差,在操场上定位、开始跑步时往往要等上四五分钟甚至十几分钟,这是很令人怀疑人生的一件事情。于是我想办法从app的通信协议入手,...

2019-04-14 00:27:50 627

一个中国象棋小程序

一个控制台中国象棋程序,使用c++编写,对类的概念的基本应用

2018-11-15

空空如也

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

TA关注的人

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