自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (2)
  • 收藏
  • 关注

原创 供应商评价与选择改进研究——21年数学建模国赛C题分析

针对建筑与装饰板材企业,进行了基于线性规划的订货与转运方案预测研究。

2024-03-09 21:56:56 3278

原创 基于NSGA-II的深度迁移学习

迁移学习是一种机器学习技术,它允许一个预训练的模型被用作起点,在此基础上进行微调以适应新的任务或数据。其核心思想是利用从一个任务中学到的知识来帮助解决另一个相关的任务,即使这两个任务的数据分布不完全相同。这种方法可以加速学习过程,提高模型性能,并减少对新数据标注的依赖。

2024-02-04 22:31:18 1293

原创 【自制C++深度学习框架】前言

此GitHub项目是一个初学者的深度学习框架,使用C++编写,旨在为用户提供一种简单、易于理解的深度学习实现方式。以下是本项目的主要特点和功能:计算图:使用计算图来描述深度学习模型的计算过程,利用计算图将神经网络的计算过程视为一个有向无环图。通过构建计算图,可以将深度学习模型转化为一系列的计算节点,通过节点之间的连接来表达模型的计算逻辑,使得计算过程可视化并易于维护和优化。张量:使用Tensor类封装张量,支持float类型数据,并提供了访问张量属性和元素的接口以及一些查询、修改张量属性的函数。

2023-06-04 20:46:43 1595

原创 【自制C++深度学习框架】表达式层的设计思路

我们定义了一个名为 ExpressionLayer 的类,继承自 Layer 类,用于将输入的表达式字符串解析为后缀表达式,并对给定的张量进行基于后缀表达式的计算。其中:ExpressionLayer 的构造函数接受一个字符串表达式 statement,创建一个 ExpressionParser 对象。ExpressionLayer 的 Forward() 函数是重写 Layer 接口的纯虚函数,输入参数为一个浮点数类型的张量列表 inputs,输出参数为一个浮点数类型的张量列表 outputs。

2023-06-04 20:00:15 871

原创 【自制C++深度学习推理框架】卷积层的设计思路

由于ConvolutionLayer是带参数的,因此可通过继承ParamLayer类,定义ConvolutionLayer类来实现卷积层。具体来说:构造函数:定义了卷积层的一些基本参数,包括输出通道数 output_channel、输入通道数 in_channel、卷积核大小 kernel_h 和 kernel_w、padding_h 和 padding_w、stride_h 和 stride_w、group数 groups 和是否使用偏置 use_bias。通过该函数初始化了类成员变量。

2023-06-04 16:01:41 658

原创 【自制C++深度学习推理框架】计算图的设计思路

Operator(操作符)Inputs: std::vector,输入操作数Outputs: std::vector,输出操作数Type: std::string,运算符的类型Name: std::string,运算符的名称Params: std::map,存放运算符的所有参数,例如卷积运算的stride, padding, kernel sizeAttrs: std::map,存放运算符所需的具体权重属性,例如卷积的权重w和偏移量b。

2023-05-26 22:28:02 1072

原创 【自制C++深度学习推理框架】ReLU层的设计思路

由于ReLU是不带参数的,因此可通过继承Layer类,定义ReluLayer类来实现ReLU激活函数的神经网络层。具体来说,该类包括以下几个成员函数:构造函数,用于创建一个ReluLayer对象,并设置该层的名称为"Relu"。,重载虚函数Forward(),实现输入tensor的元素作用ReLU函数后输出tensor的功能。,该静态函数为工厂方法,用于生成一个ReluLayer对象,并保存在relu_layer中。

2023-05-26 22:25:40 364

原创 【自制C++深度学习推理框架】Layer的设计思路

在神经网络中,不同的层具有不同的结构和运算方式,因此需要不同的函数来实现它们。使用虚函数的方法可以将这些不同的函数封装到一个基类中,并通过多态机制来实现不同类型的层的动态绑定。具体来说,当使用基类指针或引用调用虚函数时,程序会根据对象的动态类型(即实际指向的派生类类型)来选择相应的函数实现。这就使得不同类型的层可以通过共同的接口进行调用,从而提高了代码的可维护性和可扩展性。此外,使用虚函数还可以方便地定义抽象类,即只声明虚函数但不提供实现的类。

2023-05-26 22:24:20 956

原创 【自制C++深度学习推理框架】Tensor模板类的设计思路

Tensor是一个模板类,支持float类型的数据。Tensor类支持创建张量、访问和修改张量元素,以及一些查询张量属性的功能。其中还实现了对Tensor对象的复制构造函数、移动构造函数、赋值运算符和移动赋值运算符,并在内部使用了Armadillo线性代数库来存储和操作数据。

2023-05-21 23:07:36 764

原创 串行通信协议(I2C、SPI、UART、SCCB、CAN)

嵌入式常见的串行通信协议

2023-03-19 15:50:06 3765 1

原创 【6s965-fall2022】神经架构搜索 Neural Architecture Search

在很长一段时间里,研究人员都是手动设计神经网络的架构。神经网络架构的设计空间非常大,它包括。因此,手动调整这些参数非常困难。而NAS,可以帮助研究人员在多种效率和精度指标限制下,自动调整这些参数。因此,在本文,我们学习OFA,这种方法可以大大降低为不同设备专门设计NN架构的成本。

2023-02-07 17:40:05 1097

原创 【6s965-fall2022】量化 Quantization Ⅱ

我们可以把训练好的模型中的所有层都进行线性量化,替换为线性向量化的全连接层和卷积层,从而实现了把模型中的浮点运算替换成整型运算。

2023-02-03 17:54:53 749

原创 【6s965-fall2022】量化 Quantization Ⅰ

从广义上讲,量化是将连续信号变成离散信号的过程;它在信号处理(以离散的时间间隔采样)和图像压缩(减少每个像素的可能颜色空间)中很常见。在这门课中,我们将量化定义为将输入从一个连续的、大范围的数值集约束为一个离散的、小范围的数值集的过程。量化的过程包括将每个权重的数据类型改为限制性更强的数据类型(即可以用更少的比特表示)。常用的量化方法有:基于K-Means的权重量化(K-Means Based Weight Quantization)和线性量化(Linear Quantization)。

2023-02-01 20:26:06 570

原创 【6s965-fall2022】剪枝✂pruningⅡ

将通道权重从重要到不重要进行排序,然后保留每层中最重要的。对于每个输入的通道,使用Frobenius规范来计算。根据上图进行敏感度分析,设定每一层的稀疏度。问题:我们应该如何找到每层的剪枝比率?在上一篇的基础上,实现敏感度扫描记录。问题:哪些层的冗余度最高?对所有层使用一样的剪枝比例。通道修剪后,权重张量。

2023-01-20 20:11:38 819

原创 【6s965-fall2022】剪枝✂pruningⅠ

修剪,消除不必要的知识。DNN的知识可以理解为存在于其权重中。事实证明,许多 DNN 模型可以被分解为权重张量,而权重张量经常包含统计冗余(稀疏性)。因此,你可以压缩 DNN 的权重张量,从而缩小 DNN 的存储、数据传输和执行时间以及能耗成本。想想看,这就像把每个 DNN 张量放入一个 “压缩文件”,它需要的比特数比原始文件少。然而,压缩后的权重张量仍然需要在模型推理时用于计算,所以我们需要找到一个适合高效计算的压缩方案。许多压缩技术的工作原理是从权重张量中去除多余的零值。

2023-01-19 20:09:19 716

原创 【6s965-fall2022】深度学习的效率指标

了解并实现深度学习的效率指标,为模型剪枝做准备。MACs、model size、number of parameters

2023-01-18 21:25:38 940 1

原创 win10:vscode和nuwen-mingw搭建c环境

vscode调试C代码,在调试控制台用-exec+gdb命令

2022-10-23 19:55:13 132

原创 基于小波分析与深度学习的脑电信号分类(matlab)

通过小波变换对运动想象信号进行特征提取,生成时频图像作为卷积神经网络的输入。

2022-09-26 00:04:28 4244 7

原创 面向任务的无人集群系统自主协同方法(基因调控网络, GRN)

本文研究了在障碍物固定和障碍物持续移动的条件下,群体机器人对单个或多个移动目标的围捕问题。为此,本文提出了基于合作的基因调控网络的群体机器人围捕模式,该模式不仅依赖于目标的信息,同时也考虑了周围因素的影响。实验结果表明,该模式能够很好地解决躲避固定或持续移动障碍物、追踪围捕移动目标等问题,拥有较优越的性能,对未来研究在各种复杂环境下的群体机器人目标搜索及围捕打下了良好的基础。但是需要指出的是,这种模型需要对周围目标进行精确定位,因此对传感器的要求很高。

2022-09-25 12:42:28 610

原创 stm32摄像头调试 | 串口传输照片数据 | 用python来设计上位机通信软件

stm32摄像头调试 | 串口传输照片数据 | 山外调试助手的使用 | 用python来设计上位机通信软件

2022-08-04 12:11:55 9313 6

转载 数据科学家常用网站(1)

地图、识图、航空数据等找数据时用到的网站,适用于数学建模等比赛

2022-03-17 20:12:06 183

原创 数据中有单位比如万、k时,如何使用python处理

使用python处理带有单位的数据

2022-03-04 09:55:55 3397

原创 Lab1 Xv6 and Unix utilities

xv6 lab1 代码

2022-02-03 15:55:17 484

原创 基于逻辑回归(Logistic Regression)的糖尿病视网膜病变(Diabetic Retinopathy)检测

该模型采用机器学习中逻辑回归的方式,训练Diabetic Retinopathy Debrecen Data Set的数据集,获得模型参数,建立预测模型,可以有效针对DR疾病做出预测和分类。

2022-01-22 11:14:21 3183 1

原创 Google 人机验证(reCaptcha)无法显示解决方案(可解决大多数 CSP 问题)

解决kaggle的人机验证刷出来

2021-12-16 22:25:43 7931

原创 python3离线安装nltk_data,解决nltk.down()时的出错

错误详情使用nltk时报错:···Searched in: - 'C:\\<一个路径>/nltk_data' - 'C:\\<一个路径>\\nltk_data' - 'C:\\<一个路径>\\nltk_data' - 'C:\\<一个路径>\\nltk_data' - 'C:\\<一个路径>\\nltk_data' - 'C:\\nltk_data' - 'D:\\nltk_data'

2021-11-01 23:28:14 754 1

原创 Windows 终端中设置 Powerline

美化终端安装 Powerline 字体替换powershell字体为Cascadia Mono PLPowerShell 必备条件查看所有主题设置主题,主题名为iterm2查看更多的命令安装 Powerline 字体Cascadia Code PL 或 Cascadia Mono PL包含 Powerline 字形,安装其中一个字体即可。Cascadia Code字体的GitHub链接替换powershell字体为Cascadia Mono PLPowerShell 必备条件使用 PowerShe

2021-09-18 23:52:22 684

原创 立创EDA,把(自己画的或者其他途径获得的)器件的封装替换为立创商城里面元器件的封装

1.在立创商城搜索查找零件,选择下面的编辑2.在右边的属性栏点击封装3.复制封装名字4.工具-》封装管理器,选择自己原理图上的器件,在右侧搜索“复制的封装名”,库别选择立创商城,选择封装,点击更新就可以了...

2021-09-14 22:29:55 11073 1

原创 matlab - 3 自由度的机械臂

matlab - 3 自由度的机械臂实验说明matlab环境代码实验说明你的控制器应该能够控制一个 3 自由度的机械臂到达给定的目的地。代码有注释。可视化matlab环境matlab版本:2017a安装的工具包:机器人工具箱,即robot-9.10代码%% 准备startup_rvc % 安装robot 工具箱clear; % 清除工作空间的所有变量clc; % 清除命令窗口的内容%% 初始化参数syms theta1 alpha1 a1 d1 theta2 alpha

2021-08-17 22:31:30 5706 5

原创 基于 matlab 的图像校正

图像矫正实验说明代码结果实验说明代码%% prepare% 获取图片img = rgb2gray(imread('lena.jpg'));width = size(img,2);height = size(img,1);% 创建新窗口,显示图片figure;imshow(img);% 选取角点moving_points = ginput(4);hold on ; plot(moving_points(:,1),moving_points(:,2),'ro');% fix

2021-08-17 22:20:44 5820 4

原创 ROS的turtle--控制小乌龟转圈

乌龟转圈圈实验目的:实验流程a. 建立ROS工作空间b.编译工作空间c. 配置环境变量d. ROS机器人画圆程序的编写e. 启动ROS机器人实验目的:熟悉ROS中的Topic通讯,编写控制程序,实现小乌龟的圆形运动。实验流程a. 建立ROS工作空间打开Home目录,在空白处右击,点击新建文件夹(New Folder)建立一个文件夹,命名为catkin_ws在文件夹 catkin_ws 下创建一个文件夹 src,在src目录下右键在终端中打开 ,输入$ catkin_init_workspac

2021-08-17 22:12:19 6437 3

原创 gcc 和 makefile 的入门教程

Gcc 和 makefile 的入门教程介绍GNU 工具链gcc使用教程查看使用说明编译过程gcc常用参数常用方式一二makefile格式例子自动变量隐式模式规则其他错误参考介绍最初的GNU C 编译器(GCC) 是由GNU 项目的创始人 Richard Stallman 开发的。理查德·斯托曼 (Richard Stallman) 于 1984 年创立了 GNU 项目,旨在创建一个完整的类 Unix 操作系统作为自由软件,以促进计算机用户和程序员之间的自由与合作。GCC,前身为“ GNU C Co

2021-07-18 20:34:07 1746

原创 制作PCB 走流程版

制作PCB走流程版1、建工程然后全部保存2、画原理图①查找元器件②画图和multisim差不多③封装双击要封装的元器件④保存⑤编译有错就改。3、PCB图①导入②布线拖入元件并delete “sheet1”(红色的背景),调整元器件位置③设置规则④选择下方Bottom Layer,开始走线注意:17版走线符号(下方红色圈内)⑤定义图纸大小点击下方keep-out layer开始走线,将你的pcb框出来,这就是你要打的板的大小⑥加泪滴

2021-07-06 16:31:54 202

原创 MIT 6.S081实验环境的安装

把镜像源(/etc/apt/sources.list)换成Ubuntu20.04的镜像源在网上找了很久,发现这篇文章的评论说将Ubuntu 16.04 的镜像源(/etc/apt/sources.list)换成Ubuntu20.04下面的就可以了也就是说,只要把镜像源换成Ubuntu20.04的镜像源,就可以了。我装的是Lubuntu,一个轻量级的Ubuntu系统,风格类似于win10。在没有换镜像源之前,我的镜像源是Ubuntu16.04的镜像源,执行以下命令时,出错。sudo apt-get

2021-06-21 18:46:37 550 1

原创 从0到1设计一台计算机

声明:本文章为B站视频教程【从0到1设计一台计算机】的笔记

2021-01-13 13:35:24 667

原创 hc06蓝牙模块接51单片机点亮LED

hc06使用说明:https://www.basemu.com/ble_hc_06_pinout.html

2020-11-09 22:02:27 2227

原创 在Linux系统上使用gcc编译C语言文件

gcc的基本使用准备Step 1: Preprocess(预处理)Step 2: Compile(编译)Step 3: Assemble(汇编)Step 4: Link(链接)Step 5: Load(加载)Step 6: Execute(执行)gcc选项解释快速编译执行在Linux上使用gcc来编译C文件准备新建项目文件夹mkdir lab1在文件夹里面创建并完成c文件cd lab1vim hello-world.cStep 1: Preprocess(预处理)gcc -E -

2020-10-26 23:13:59 2682

原创 TensorFlow安装注意事项

安装教程:win10详细安装步骤:https://www.cnblogs.com/ming-4/p/11516728.htmlhttps://blog.csdn.net/u010210864/article/details/94580873一定要在anaconda prompt下安装TensorFlowAMD显卡的,安装TensorFlow-CPU版本的pip install --ignore-installed --upgrade tensorflowconda常用命令检查目前

2020-10-23 23:30:23 188

原创 解决普中单核A2开发板更换STC89C52为STC89C52RC芯片,出现无法烧录的问题

解决普中单核A2开发板更换STC89C52为STC89C52RC芯片,出现无法烧录的问题错误:更换芯片后,开发板的蜂鸣器发出“呜呜”声音,使用普中科技的烧录软件下载程序时,会出现“无法连接单片机”等下载失败错误解决方案:使用SCT官方的烧录软件 stc - isp,因为普中科技烧录软件不支持STC89C52RC...

2020-10-20 21:58:12 3141

原创 pandas基本使用总结

pandas基本介绍基于numpy的扩展库两个数据类型:Series(一维),DataFrame(二维)基于上述的数据类型的各类操作:基本操作、运算操作。特征类操作、关联类操作对比:Numpypandas基础数据类型扩展数据类型关注数据的结构表达关注数据的应用表达维度:数据间的关系维度:数据与索引间关系pandas的Series类型Series是一维带“标签”数组index_0 --> data_aSeries基本操作类似于ndarray和

2020-10-06 22:36:52 688

IntroductiontoComputingSystems.rar

Introduction to Computing Systems: From bits and gates to C and beyond

2021-01-26

nasm、dd、bochs等工具包

从零开始写一个简单的操作系统用到的软件

2021-01-25

空空如也

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

TA关注的人

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