- 博客(170)
- 收藏
- 关注
原创 Python开发者必备技能:if name == ‘main‘的应用示例
当脚本被导入为模块时,Python解释器会执行模块中的代码,但不会执行模块的主程序逻辑。的作用是在不同的执行方式下执行不同的代码块。具体来说,它允许指定哪些代码应仅在脚本作为主程序运行时执行,而不应在脚本被导入为模块时执行。时,除了基本的用法之外,还需要考虑性能优化和一些注意事项,以确保代码的高效性和可维护性。块中的代码设计成可扩展的。在许多模块中,需要执行一些初始化操作,但这些操作不适合在脚本作为主程序运行时执行。这种模式允许在模块被导入时执行初始化操作,但在模块被直接执行时可以执行额外的操作。
2025-08-21 17:12:53
795
原创 ai五分钟训练
一些类似的训练挑战,比如 BabyLM(https://arxiv.org/html/2412.05149v1#S6),会对训练数据做限制,这其实是有道理的——毕竟在某些领域里,数据本来就稀缺,研究如何在少量数据下最有效地训练模型很有意义。先把答案放在前面:我能在五分钟内训出的最佳模型,是一个大约 180 万参数的 GPT 风格 Transformer,用大约 2000 万个 TinyStories 语料 token 训练出来,在保留的数据集上能做到 9.6 的困惑度(perplexity)。
2025-08-21 16:48:40
359
原创 Q-learning
Q-Learning作为无模型强化学习的开山之作,通过简洁而优雅的迭代更新机制,实现了在未知环境中的自主学习。本文从理论到实践构建了完整的知识链条:首先剖析了强化学习的核心要素与贝尔曼方程的数学基础,随后通过冰冻湖面环境展示了Q-Learning的具体实现,包括Q表初始化、ε-贪婪探索策略、Q值更新规则等关键环节,并通过代码可视化直观呈现了智能体的学习过程。值得注意的是,尽管Q-Learning在简单离散环境中表现出色,但面对高维状态空间时会遭遇"维度灾难"。
2025-08-21 16:44:00
921
原创 汤普森采样模拟(包含完整MATLAB代码)
这个公式就相当于给运动员的击中次数添加了“初始值”,相当于在赛季开始前,运动员已经有81次击中219次不中的记录。因此,在我们事先不知道概率是什么但又有一些合理的猜测时,贝塔分布能够很好地表示为一个概率的分布。
2025-07-23 11:42:51
816
原创 关于常见的优化(所谓智能)算法
( Group Search Optimization,GSO ) 、内部搜索算法( Internal Search Algorithm,ISA ) 、矿井爆破算法( Mine Blast Algorithm,MBA ) 和社会群优化算法( Social Group Optimization,SGO ) 、免疫算法(IA)和思维进化算法(MEA)等。基于自然现象的算法通常以物体或粒子的运动作为更新搜索智能体的准则,以物体或环境的稳定性作为优化状态的判断,进而调控算法的下一次迭代。,进而锁定全局最优解。
2025-07-21 19:44:04
335
原创 关于CMake
2]1.用编辑器编写源代码,如.c文件。2.用编译器编译代码生成目标文件,如.o。3.用链接器连接目标代码生成可执行文件,如.exe。但如果源文件太多,一个一个编译那得多麻烦啊?于是人们想到,为啥不设计一种类似批处理的程序,来批处理编译源文件呢?于是就有了make工具,它是一个自动化编译工具,你可以使用一条命令实现完全编译。但是你需要编写一个规则文件,make依据它来批处理编译,这个文件就是makefile,所以编写makefile文件也是一个程序员所必备的技能。
2025-04-07 11:49:06
250
原创 分数阶傅里叶变换
1987 年, A. C. McBride 和 F. H. Kerr 用积分形式从数学上严格定义了分数阶 Fourier 变换[31].: : :, 其中 c 是比 x 小的数值, 则 n 阶导数可定义为。
2024-12-23 20:56:25
775
原创 NASH均衡存在性证明
(N,{Ai},{Hi})是一个标准形式的博弈,设Π(X)是X上所有概率分布的集合,则称局中人i的混合策略集为Si=Π(Ai). 全体混合策略局势的集合S可表示为各局中人混合策略集的笛卡尔积,S=S1×S2×⋯×Sn.混合策略的定义表明,对于策略si,局中人i会依照特定的概率分布选择不同的行为. 显然,纯策略是混合策略的一种特殊形式. 我们。
2024-12-06 16:05:15
1616
原创 深度学习在雷达中的应用
网络结构,该结构可以降低反馈神经网络的复杂性,针对此研究提出了CNN。近些年,针对CNN具有避免图像的复杂前期预处理的优势,该网络被广泛应用于图像的模式分类领域。20世纪60年代, Hubel和Wiese研究猫脑皮层发现用于局部敏感和方向选择的神经元具有独特的。构如图2所示,经典的CNN一般包括卷积层、池化层、全连接层和分类器。
2024-11-26 17:44:07
433
原创 HLS实现图像二值化
从综合结果可知,pixelBinary的Latency和Interval的值是一样的,都是50235,我们的图片尺寸是184*273 = 50232,Latency和Interval的值比图片像素数多3,关于Latency和Interval具体的含义,我还是没有很明白,这两个值到底是怎么来进行计算的,等弄明白了再来分享。这是一个综合的结果,也就是把我们的HLS代码综合成了Verilog或者VHDL代码了,你再solution下面的syn文件夹下就可以看到生成的Verilog或者VHDL代码了。
2024-11-12 11:11:35
344
原创 关于HLS优化问题
常用于改善吞吐率的 directive 有 PIPELINE、ARRAY_PARTITION、UNROLL、DATAFLOW。常用于改善时延的 directives 有 LATENCY、LOOP_MERGE、LOOP_FLATTEN 等。ALLOCATE、ARRAY_MAP、ARRAY_RESHAPE、FUNCTION_INSTANTIATE 等。对于数组可以使用 ARRAY_PARTITION 来把数组分割成不同的部分,有 3 种分割方式。LOOP_FLATTEN 用于将嵌套的循环展开为一个大的循环。
2024-11-12 10:54:54
561
原创 system generator结合高版本matlab的使用
system generator 使用的时候需要结合matlab才能正确打开。2019.1Vivado可以支持2017以及以上全部版本的的matlab。所以其实如果我们电脑里有新版的matlab,是不需要再去退回旧版本的。1、在vivado安装路径下,搜索ml_supported.xml文件,双击点开。可以看到所有支持的matlab版本。2.寻找MATLAB安装路径即可。
2024-11-06 22:19:04
591
原创 QR分解MATLAB,C++实现
在线性代数或矩阵理论中,我们肯定都学过斯密特正交化(Gram-Schmidt Orthogonalization),正交化过程即将欧氏空间的任一基化为标准正交基,构造出的标准正交基正好构成了我们想要的QQ矩阵,而RR矩阵由正交化过程的公式倒推即可得到。A=[→x1→x2→x3]正交化→[→y1→y2→y3]单位化→[→z1→z2→z3]=QA=[x1→x2→x3→]→正交化[y1→y2→y3→]→单位化[z1→z2→z3→]=Q。首先假设初始方阵为AA,→xixi→、→yiyi→、→zizi→都为列向量。
2024-11-05 22:28:54
1094
原创 利用蒙特卡洛方法求定积分
基本思想:一个函数的定积分等于在这段区间上的平均值乘以区间长度,平均值通过蒙特卡洛方法进行模拟(均匀随机采样),然后对函数值求和,除以蒙特卡洛模拟次数得到平均值.这里计算的是x^2在[-1,1]上的定积分.
2024-11-05 15:30:31
576
原创 分数阶傅里叶变换与信息熵怎么用于信号处理?
就是我在从初始位置走向90°方位的时候,并不是一次性的就走过去了,而是每走一定的角度就停下来看一看我们在当前角度下能够看到红色信号曲线的什么特征与特性,并记录每个角度下“频率域”的频谱,这么做是因为大部分的信号都是非平稳信号,仅仅用傅里叶变换不足以分析其显著的特征,运用分数阶傅里叶变换主要是能选取信息最集中的角度去分析。这不就是我们一直以来求的频谱吗!我们不着急从这个复杂的数学方法入手,作为一个基本的工科生,我们一定是学过傅里叶变换的,如果你在平日的学习中习惯于思考,那么你一定会记得傅里叶变换就是在。
2024-11-03 17:29:14
1026
原创 满秩分解与奇异值分解
SVD的作用就相当于是一个坐标系变换的过程,从一个不标准的n维坐标系,转换为一个标准的k维坐标系,并且使这个数据集中的点,到这个新坐标系的欧式距离为最小值(也就是这些点在这个新坐标系中的投影方差最大化),其实就是一个最小二乘的过程。A^T·A中计算的便是n×n的协方差矩阵,每一个值代表着原来的n个特征之间的相关性。对于奇异值,它跟我们特征分解中的特征值类似,在奇异值矩阵中也是按照从大到小排列,而且奇异值的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例。
2024-11-02 11:15:00
1256
原创 线性变换的矩阵表示
这个人写的太好了.所以发一篇文章注明链接:矩阵篇(二)-- 线性变换的矩阵表示、常用变换及其矩阵、常见的特殊矩阵-CSDN博客
2024-10-24 11:17:20
558
2
原创 雷达系统分析与设计-MATLAB-第一章(定义和术语)
最理想的情况下,从0开始发射信号,只有一个静止目标,t0接收信号,时间差就是t0,然后距离R = c*t0/2;(但是这种情况似乎过于理想,一般情况是使用不了的,正确性未知...)连续波雷达主要用于目标速度的测量,以及导弹制导,如果不进行处理,就不可能进行距离测量.(相位的周期性)%计算占空因子 平均发射功率 脉冲能量 脉冲重复频率。
2024-10-20 17:59:40
426
原创 基于去斜滤波与稀疏恢复的探干一体化系统直达波抑制技术张世源1, 陆星宇1, 虞文超1, 吴元江1, 严华斌1, 吴名2, 顾红11.南京理工大学电子工程与光电技术学院, 江苏 南京
探测干扰一体化系统通过波形一体化设计,利用无典型雷达信号特征的干扰信号进行探测,共享波形、频率、时间、孔径等资源,极大提升了系统资源的综合利用率。然而,为实现有效干扰,探测干扰一体化波形在频段上会与对方雷达信号有所重叠,一体化设备探测回波会受到由对方雷达发射信号带来的强直达波影响,造成探测性能的严重恶化。本文考虑探干一体化系统与线性调频雷达对抗的场景,提出了两种直达波抑制算法(去斜频域滤波与稀疏恢复)。
2024-10-18 11:49:40
989
原创 无源雷达的直达波抑制--自适应信号算法
每个收发对的信息都可以形成一个跟踪,多个跟踪可以融合,注意,将目标的三维笛卡尔位置,笛卡尔速度与双基距离R,速度v关联的方程是高度非线性的.跟踪器本身是一个非线性的卡尔曼滤波器.凸显了DVB-T和调频无线电照射的互补性,表明两者结合使用可以获得良好的性能.利用高速度滤波器和低速度滤波器等方法,可以进一步提高目标的速度估计精度.对于来自接收机的信息,一种常用的形式是距离-多普勒图,多普勒信息是在每个距离分辨率单元内进行快速傅里叶变换(FFT)处理并且持续适当的积分间隔得到的,并绘制为距离和多普勒的函数.
2024-10-18 11:48:37
1373
原创 Vivado 跟Xilinx SAE学HLS系列-高亚军(复合数据类型)
在对应的结构体变量--directive里面使用field_level或者struct_level进行优化.查看波形--查看实际的分配情况。
2024-10-17 17:14:37
480
原创 Vivado HLS学习
根据需求选择合适的数据类型至关重要,不仅可以提高资源利用率,还可以有效提高速度.t=O83A视频链接: 6课:数据类型的转换_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1bt41187RW?
2024-10-17 16:55:58
553
原创 Vivado HLS C/RTL 联合仿真时间
简单的led.cpp,led.h,还有一个test bench文件xxxx.cpp。大概花了二十分钟,后面讨论时间慢的原因.
2024-10-15 23:01:02
404
原创 无源雷达导论(Hugh D.Griffiths,Christopher J.Baker)
此外,由于山峰、地面、建筑物等物体的反射,回波通道接收到的信号还包括多径杂波。外辐射源雷达使用的是非合作的辐射源,未知发射信号样本,为了实现相干积累,将淹没在噪声中的回波信号提取出来,外辐射源雷达另外设立了一个参考信号通道,用于获取发射信号样本,如图2所示。发射源的电磁波有两条主要路径,一条是直接抵达接收站的,叫直达波,一条是打到目标上然后反射到接收站的,叫回波,通过这俩的互模糊函数就可以计算出回波信号与直达波信号的时延和多普勒频率,进而计算出目标的径向距离和径向速度,再加上测角就可以算出目标的方位。
2024-10-12 11:28:05
1292
原创 ViVado HLS 2018.3基本开发流程
点击"Source"添加.c/cpp或者.h文件,在TestBench里面添加要测试的文件.c/cpp并且可以包含main函数.选择IP->Repository,并且点击加号,选择solution,将会自动识别到IP,识别到后,点击Apply->OK。①点击project->project settings->synthesis->browser->选择顶层函数。②点击project->Run C Simulation(输出01交替,表示C仿真结果正确)reg led_i_vld;reg led_i;
2024-10-11 10:21:24
1373
Qt中如何在多线程中使用信号和槽?
2024-07-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人