- 博客(26)
- 收藏
- 关注
原创 MoE架构分析
1.1 MoE简介MoE是一种基于 Transformer 架构的模型,主要由两个关键部分组成:1.2MoE架构分析MoE将Transformer的每个前馈网络 (FFN) 层替换为 MoE 层,其中 MoE 层由两个核心部分组成: 一个门控网络和若干数量的专家。在Laynormalize后,对于一个输入词元表示为x,首先通过门控函数计算每个词元分配给每个专家的概率:然后使用Top-k算法进行专家选择:Router会选择门控概率最高的前k个专家,将x输入给这k个专家计算加权输出。但是在训练过程中,如果词元都
2025-05-23 14:10:23
772
原创 CLIP模型使用方法
对比训练:在batch中计算所有图像与文本的余弦相似度,每个图文对的相似度最高,处在对角线上,其余相似度低。文本编码使用Transformer,输出[batch_size,text_feature]图像编码使用ViT,输出[batch_size,picture_feature]3.3使用CLIP训练Logistic回归模型,分类CIFAR100。首先,每个batch的图文对分别进行图像编码和文本编码。输入一张图片,设置几个类别,输出softmax概率分布。本文主要记录CLIP模型的原理,安装,基本使用。
2025-03-08 17:47:49
1045
原创 Transformer模型学习
对于[batch_size,max_length,d_model]的输入,经过位置编码后输出的PE为[batch_size,max_length,d_model],与词嵌入维度相同。PE是位置编码的结果,pos指的是单词所在句子里的位置,i是索引,dmodel 是词嵌入维度。Encoder输入:[batch_size,max_length,d_model]tgt (汉语):[batch_size,max_length]④输出数据张量:将句子转化为可用于训练的数据张量。词嵌入:将原始张量嵌入到高维空间。
2025-03-06 17:38:55
371
原创 吴恩达深度学习练习题(5)——卷积神经网络(CNN)
利用卷积神经网络实现手势数字识别: 基于要求设计一个简单的CNN: ①输入层:[64,64,3] 是大小64*64的RGB手势图像。②卷积层:卷积核设计为:[3,3,3,16]大小3*3,输入通道3,输出通道16的卷积核。 计算可得输出数据维度:[,62,62,16]。③RELU激活函数:数据维度不变。④池化层 :设计步长2,大小2*2的最大池化层。输出数据维度:[31,31,16]。⑤展平:将数据展平,大小为31*31*16 = 15376。将他作为全连接层的输入。⑥全连接层
2024-11-18 14:52:33
637
原创 吴恩达深度学习练习题(4)——优化算法
导入数据并绘制图形:数据为边界层清晰的离散坐标点。目标是预测未知点的颜色并绘制边界层。这个已经在之前实现,这次主要任务是使用不同的优化算法,选择效果最优秀的优化算法。
2024-11-13 14:46:31
390
原创 吴恩达深度学习练习题(3)——随机初始化与正则化
导入数据后绘制图像如下:数据是红蓝边界明显的二维坐标点。我们需要做的是搭建神经网络实现对点颜色的预测,并绘制边界层将他们分开。
2024-11-13 11:14:01
408
原创 吴恩达深度学习练习题(2)——DNN识别小猫
输入模型的parameters和输入特征X,返回预测结果以及前向传播过程中的缓存结果(A1Z1,A2Z2,A3Z3,反向传播中用来计算)。从输入到输出的前向传播有四步,也就是说返回的parameters有W1,b1,W2,b2,W3,b3,W4,b4这八个参数。输入预测的结果AL,train_y,以及前向传播的缓冲数据,可以计算出每一层的梯度。设置迭代次数,前向传播反向传播计算出损失和梯度,使用梯度下降算法更新参数,不断迭代。导入数据,X为64*64的RGB图像,Y为是否是小猫,0为否,1为是。
2024-11-07 14:41:04
396
原创 吴恩达深度学习练习题(1)——Logistic回归识别小猫
作业提供了数据集,加载后数据形状如下: 需要进行以下处理:①输入特征扁平化:将RGB图像转为一维的灰度值②输入特征标准化:将0-255的灰度值缩放到0-1之间代码如下: 2.正反向传播正向传播计算出估计值,反向传播计算出梯度。同时计算交叉熵损失,代码如下: 3.梯度下降优化器在计算出梯度后,使用梯度下降算法对模型参数进行优化。同时记录loss,在收敛后不再迭代,之后绘制图像。代码如下: 最后在5415轮迭代时收敛,loss为0.058。尽管已经对特征进行了标准化,学习率
2024-11-04 16:06:18
486
原创 吴恩达机器学习练习题(3)——One-vs-All Logistic回归
作业的目标是实现手写数字识别,使用OvA Logistic回归方式实现。作业提供了两个文件,其中分别包含X[5000,400]与Y[5000,1]。其中X的含义是:5000张20*20的手写数字灰度值数据,以列的方式保存在mat文件中。Y的含义是:5000张手写数据对应的结果,以mat文件保存。
2024-10-22 15:32:44
590
原创 吴恩达机器学习练习题(2)——logistic回归
作业1的目标是根据两门成绩与是否录取的历史数据,对将来的录取结果进行预测。作业2的目标是根据芯片的两组测试结果与合格程度,对芯片是否合格进行预测。
2024-10-20 16:19:36
646
原创 10—基于FPGA(ZYNQ-Z2)的多功能小车—软件设计—顶层代码
实例化蓝牙、超声波、电机模块,在always块中实时判断蓝牙的信息进行模式选择,在遥控模式中实时判断红外遥控的信息遥控小车,最后的代码是在ila中debug,实际没有用。在之前的文章中具体控制代码已经全部进行了分析与解释,顶层模块进行模块的输入输出的定义、内部变量的定义、模块的实例化与蓝牙信号的判断。整体Arduino代码如下;
2023-06-20 10:02:01
608
原创 9—基于FPGA(ZYNQ-Z2)的多功能小车—拓展功能—OpenMV的色块识别
对于色块识别功能,我想让OpenMV检测色块,在数码管上显示。OpenMV的通信也是串口通信,实现比较耗时。由于之前的红外遥控已经外接了Arduino,因此我依然借助Arduino对红绿蓝进行编码,使用两个IO实现信息传递,在FPGA上进行译码,最后根据对应的信息实现数码管显示。
2023-06-19 17:56:43
1081
1
原创 8—基于FPGA(ZYNQ-Z2)的多功能小车—软件设计—寻迹模块、寻光模块、跟随模块
寻迹模块的实现需要两个TCRT5000传感器。简单地说,检测到黑线输出低电平,检测到白线输出高电平。因此两个TCRT5000放在黑色地面的白线循迹线左右,左边检测到白线左转,右边检测到白线右转,都是黑的前进,都是白线停止。算法比较容易实现。
2023-06-19 17:49:10
1158
原创 7—基于FPGA(ZYNQ-Z2)的多功能小车—软件设计—红外遥控
这种方式的优点是设计十分简单粗暴,同时能实现通信,但是缺点也十分明显。需要占用大量的IO口,并且需要外置单片机进行解码。其实就相当于脱裤子放屁,不过因为时间与水平有限,这也是一种折中的实现方法。红外遥控的实现由于时间有限,并且协议的难度也比较大,因此我们借助于Arduino对信息进行解码,再通过自己编码实现红外遥控。简单的解码,判断mode的值。FPGA只能0-1信号,因此可以用n个IO口进行编码,总共有。个信息的编码,在Vivado中进行解码,便可实现通信。str的值需要根据实际测试。
2023-06-19 17:34:23
758
原创 6—基于FPGA(ZYNQ-Z2)的多功能小车—软件设计—超声波测距
的值,表示已经过了10微秒的一半时间,此时将计数器和触发信号寄存器取反。发射超声波信号:通过给Trig提供10us的TTL,能够触发超声波模块产生高频的声波信号。超声波模块是一种常用的测距技术,它利用声波来测量物体的距离。目标物体的反射:当声波遇到目标物体时,一部分声波会被目标物体反射回来。因此,通过计算Echo引脚的高电平时间,再利用音速便可计算出实际距离。接收超声波信号:在接收到反射回来的声波信号是,Echo会输出低电平。模块,测量回波信号的高电平持续时间,将结果保存在。模块,生成的触发信号。
2023-06-19 17:05:56
1128
原创 5—基于FPGA(ZYNQ-Z2)的多功能小车—软件设计—蓝牙串口
我使用的是JDY-31蓝牙模块,在连线中,要注意RX-TX,TX-RX。即FPGA约束的TX对应蓝牙模块的RX,约束的RX对应蓝牙模块的TX。蓝牙模块使用UART串口通信协议,具体介绍如下:UART(通用异步收发器)是一种常见的串口通信协议。UART协议的主要特点如下:异步通信:UART使用异步通信方式,不需要时钟同步信号。数据的传输以字符为单位,每个字符由起始位、数据位、校验位(可选)和停止位组成。数据格式:UART可以支持不同的数据格式。
2023-06-19 16:48:06
3297
12
原创 4—基于FPGA(ZYNQ-Z2)的多功能小车—软件设计—电机驱动模块
如果计数器的值小于占空比(duty),PWM输出被设置为高电平(1)。对于其他mode值,direction_A、direction_B、direction_C和direction_D被设置为1,表示反向。如果mode等于1或3,direction_A和direction_B被设置为0,表示正向(例如前进或左转)。如果mode等于1或4,direction_C和direction_D被设置为0,表示正向(例如前进或右转)。①运动方向(mode)——0停止,1前进,2后退,3左转,4右转。
2023-06-19 13:31:18
2319
1
原创 3—基于FPGA(ZYNQ-Z2)的多功能小车—硬件设计—传感器模块设计与PCB总览
根据题目要求,需要使用大量的传感器,但是使用FPGA供电显然不现实。因此需要在PCB上设计传感器模块的接口,使用电源模块供电,并整理出传感器区域,让整体更有序。电池通过接线端子与PCB相连,两个开关分别控制总电源与电机,通过调节电位器可以实现Vout调节,各个模块设计有LED,判断是否正常工作。使用XH-2.54插座与传感器相连,并将信号线接到电路板的后面,这样在FPGA与电路板的连接时更规整。原理图与PCB文件在之前已给出。整体PCB布局如下。
2023-06-19 12:57:17
531
原创 2—基于FPGA(ZYNQ-Z2)的多功能小车—硬件设计—电机驱动模块(TB6612FNG)
一个TB6612FNG可以控制两个电机,因此需要两个芯片。即控制电机需要4*2个输入(IN),4*1个调速(PWM)。为了驱动四路电机,我使用了两个TB6612FNG,设计简单,体积小,功能完整。
2023-06-19 12:47:30
3465
原创 1—基于FPGA(ZYNQ-Z2)的多功能小车—硬件设计—电源模块
我们的小车使用7.4V的锂电池供电,无法直接为各模块和FPGA供电。因此需要设计稳压模块。多方面考虑,我们选择使用LM317设计线性可调稳压,使用LM2596和AMS1117设计7.4V-5V-3.3V的稳压模块。5V与3.3V给模块与FPGA供电,可调稳压输出范围1.25V-7V,可在突发情况或者其他要求是提供电压。
2023-06-19 10:07:12
1312
1
原创 0—基于FPGA(ZYNQ-Z2)的多功能小车
在电子技术与创新的课设中我们组选择了这个题目。我们在设计的时候遇到了非常多的问题,但是网上的对应资料又非常少,因此在完成设计之后,我把设计方法与代码在这篇博客中分享出来,希望能对需要的人有所帮助。注:本人大二学生,对FPGA理解浅薄,如有错误请指正。
2023-06-19 09:02:22
3492
3
基于FPGA(PYNQ-7020)的多功能小车
2023-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人