- 博客(108)
- 资源 (2)
- 收藏
- 关注
原创 YOLOV5改进系列(2)——CA注意力机制
Coordinate Attention(CA)是一种用于移动网络的轻量级注意力机制,旨在在不增加计算成本的前提下增强特征表达能力。与传统的通道注意力机制(如Squeeze-and-Excitation)不同,CA在通道注意力中嵌入了位置信息,从而能更好地在空间上进行关注。
2024-10-08 21:12:54 791
原创 YOLOv5改进系列(1)——添加CBAM注意力机制
例如,在图像分类任务中,模型不需要对整张图像的每一个像素都一视同仁,而是可以专注于那些关键区域,如目标物体的边缘或特征。在句子处理时,模型可以根据句子的上下文,专注于那些对语义理解最为关键的单词或短语,而忽略不太重要的部分。当你听到某些关键字时,比如“你的名字”或者“你感兴趣的话题”,你会自动把注意力从书上转移到他们的谈话上,尽管你并没有完全忽略书本的内容。(7×7比3×3效果更好)操作,降维为1个channel,即叠积核融合通道信息,特征图的shape从b,2,h,w - >b,1,h,w。
2024-09-30 16:10:22 758
原创 YOLOV5入门教学-common.py文件
LOGGER,ROOT,Profile,colorstr,xywh2xyxy,xyxy2xywh,yaml_load,Conv类继承自 PyTorch 的nn.Module,它实现了标准的卷积层。是默认的激活函数,使用的是 SiLU()(Sigmoid-Weighted Linear Unit),也叫做Swish 激活函数。这个激活函数在许多现代模型中表现良好。标准卷积:每个输出通道与输入的所有通道进行卷积操作,计算复杂度较高。深度卷积。
2024-09-06 20:56:22 1089
原创 我的创作纪念日
我的文章逐渐得到了越来越多的关注,目前已经有超过5000位粉丝关注了我的创作。在日常学习过程中,我发现通过撰写文章,能够更好地梳理自己的思路,巩固学到的知识,同时也是与其他技术爱好者进行交流和碰撞的一个好方式。虽然日常工作和学习任务繁重,但我依然会抽出时间来进行创作,因为它不仅是我的兴趣爱好,更是我学习和成长的方式。在创作方面,我希望能够撰写更多优质的文章,甚至出版一本关于技术的书籍,与更多人分享我的经验和心得。希望在不久的将来,我能继续在创作的路上不断前行,也期待与更多的同行和爱好者交流,共同进步。
2024-09-05 16:46:36 397
原创 YOLOV5入门教学 - yolo.py文件
深度调整:通过gd),减少某些层的深度,降低计算开销。宽度调整:通过gw),减少每层的输出通道数,使模型变窄,减少参数量和计算量。输出调整:通过确保输出通道数是硬件友好的倍数,便于优化计算效率。这个案例展示了YOLOv5模型是如何根据配置动态调整深度和宽度的,使得同一个网络架构可以适应不同的计算资源条件。处理模块的输入输出通道不同的模块需要不同的输入和输出通道处理方式,这段代码根据模块的类型动态调整其输入通道数c1和输出通道数c2。特定模块的逻辑对于卷积类模块(如C3),输出通道数由配置中的。
2024-09-05 14:48:55 739
原创 YOLOV5入门教程-yolov5s.yaml文件
这段backbone共有9个层次,每个层次逐步提取图像特征并下采样。最后输出的特征图尺寸为40x40,通道数为1024。这个特征图包含了从输入图像中提取到的高层次特征,准备在后续的网络层中用于目标检测。
2024-09-04 10:29:55 1736
原创 YOLOV5入门教程day3
这段代码的主要功能是设置YOLOv5项目的根目录,并确保该目录被添加到Python的模块搜索路径中。获取当前文件的绝对路径使用Path对象操作来获取当前执行的脚本的绝对路径,并将其赋值给FILE变量。确定项目根目录通过parents[0]属性获取当前文件的父目录,通常这是 YOLOv5 项目的根目录,并将其赋值给ROOT变量。添加根目录到模块搜索路径检查ROOT是否已经在 Python 的模块搜索路径(sys.path)中。如果不在,则将其添加。
2024-09-02 16:08:10 1408
原创 YOLOV5入门教程2-detect.py文件
用于处理不同后端的检测模型类,如支持在不同硬件加速器上运行(CPU、GPU、TPU等)。: 支持的图像格式列表(如.jpg.png: 支持的视频格式列表(如.mp4.aviLoadImages: 用于加载图像文件的类。: 用于加载视频流或摄像头数据流的类。包含各种通用工具函数:LOGGER: 日志工具,用于记录信息。check_file: 检查文件是否存在。: 检查并调整图像大小,以确保与模型输入大小兼容。: 检查是否支持显示窗口(通常在无显示的环境中使用)。: 检查依赖项是否满足。
2024-08-28 17:15:16 692
原创 YOlOV5入门教程
因项目需求,所以要使用yolo进行操作,现在对yolov5进行教程,代码可以在这下载:https://github.com/ultralytics/yolov5。
2024-08-26 09:33:08 899
原创 pytorch学习day5
除了常见的损失函数之外,PyTorch还支持用户自定义损失函数,以适应特定的任务需求。通过定义自定义损失函数,用户可以根据具体情况设计特定的损失计算方式,从而更好地优化模型的训练效果。优化器在深度学习中扮演着关键的角色,它管理和更新模型中可学习参数的值,以使模型的输出更接近真实标签。在PyTorch中,优化器负责计算参数的梯度并更新参数值,实现模型的优化和训练。
2024-06-04 20:54:26 824
原创 pytorch学习day4
输入特征图的通道数。:输出特征图的通道数。:卷积核的大小,可以是单个整数或者元组。stride:卷积核的步幅,决定了上采样的倍数。padding:在输入图像四周填充的像素数。:输出图像额外的填充,控制输出尺寸。bias:是否使用偏置,默认为True。池化层(Pooling Layer)是卷积神经网络(CNN)中的一种常见操作,通常用于减少数据的空间维度(即宽度和高度),从而减少参数数量和计算量,同时保留重要的特征信息。线性层的操作可以用以下数学公式表示:x 是输入向量或输入张量。
2024-06-03 20:04:22 990
原创 pytorch学习day3
VGG块由多个卷积层和一个池化层组成。我们定义一个函数来创建这些块。我们利用来堆叠多个VGG块,最后添加全连接层。return x。
2024-05-31 21:55:33 694
原创 pytorch学习day2
示例数据data = torch.randn(100, 3) # 100个样本,每个样本3个特征labels = torch.randint(0, 2, (100,)) # 100个标签# 创建自定义数据集。
2024-05-30 21:33:03 853 3
原创 pytorch学习day1
模块描述torch包含激活函数和主要的张量操作定义了张量的数据类型,方法可返回新张量,方法后缀带下划线可修改张量本身torch.cuda定义了 CUDA 运算相关的函数,如检查 CUDA 是否可用,清除缓存,设置 GPU 计算流等torch.nn神经网络模块化的核心,包括卷积神经网络和全连接层,以及一系列损失函数定义神经网络相关的函数,卷积函数、池化函数、log_softmax 等激活函数,torch.nn 模块调用 torch.nn.functional 的函数。
2024-05-29 19:41:34 730
原创 matlab相机标定实验
相机的参数对目标的识别、定位精度有很大的影响,相机标定就是为了求出相机的内外参数。标定中有3个不同层次的坐标系:世界坐标系、相机坐标系和图像坐标系(图像物理坐标系和图像像素坐标系)。世界坐标系也称真实或现实世界坐标系,它是客观世界的绝对坐标。相机为中心制定的坐标系,一般取相机的光学轴为Zc轴。图像物理坐标系是在相机内所形成的像平面xy坐标系,一般取像平面与相机坐标系平面平行。为了确定相机的内参数,需要知道相机的成像芯片做构成的图像平面坐标系和相机采集的图像的像素坐标系之间的关系,如图1示。
2023-10-10 15:58:36 933
原创 MutualNet: Adaptive ConvNet via MutualLearning from Network Width and Resolution文章精读
本文提出了宽度-分辨率相互学习的方法(MutualNet),根据动态的资源约束来训练网络,实现运行时自适应的准确率-效率的平衡。相对于目前SOTA的自适应网络 US-Net,本文方法在ImageNet上取得了更高的top-1准确率,要比最优的复合尺度的MobileNet和EfficientNet 高1.5 % 1.5\%1.5%。但是,这些网络都忽略了一个事实,计算成本由网络的大小和输入的大小决定。作者对不同的配置进行了网格搜索,选择最佳的配置,作者认为网络的大小和输入大小应该结合不同配置信息一起来考虑。
2023-09-21 15:46:44 183
原创 微信小程序错误-TypeError: this.setData is not a function
TypeError: this.setData is not a function错误。
2023-04-27 10:42:02 2949 1
原创 深度学习期末复习
2.2 感知机的梯度下降法,算法流程 3.2激活函数有哪些,画出他们的图来,以及各自的应用场景和特点 3.3神经网络的训练过程,思路写出来 3.4 损失函数,常用的损失函数有哪些,表达形式(公式),适用场合 3.5 神经网络训练过程中,过拟合(模型过于复杂(所包含的参数过多),以致于模型对训练集的拟合很好,但对未知数据预测很差的现象(泛化能力差)。) (1)增加训练数据量①采集更多的数据;②数据增广(image augmentation):对已有数据做一系列随机改变,来产生相似但又
2022-06-21 00:19:37 2016
原创 实验5 卷积神经网络实验中
一、实验要求在计算机上验证和测试Pytorch卷积神经网络对树叶分类的效果,测试卷积神经网络的训练效果,同时查阅相关资料。实验目的1、掌握PyTorch的基本使用;2、掌握PyTorch的卷积神经网络;3、掌握PyTorch的图像分类训练流程;三、实验内容实验步骤请对classify-leaves数据集,设计卷积神经网络,用train.csv做测试,test.csv做测试。 本来想训练了3个优秀的模型(ResNeSt+ResNeXt+DenseNet),最后进行集成,然后发现
2022-05-18 10:46:13 542
原创 实验四 使用QTP进行功能测试
(一)实验目的1、熟悉QTP操作界面的组成;2、掌握QTP录制测试前的准备工作和测试流程;3、掌握使用QTP进行功能测试的过程。(二)实验内容1、录制测试脚本前的准备:熟悉QTP界面及常见菜单项的功能,如Options菜单及Record and RunningSettings的常见设置等。2、测试C/S应用程序Flight.exe。Flight应用程序登录模块说明:用户名、密码均为长度至少为4位的非空字符,密码值为mercury。针对用户名、密码的不同出错情况,有不同的错误信息提
2022-05-18 10:44:01 1964 1
原创 实验8 使用模拟退火算法解决TSP问题
1.实验目的掌握模拟退火算法解决旅行商问题的方法。2.实验环境Matlab3.实验内容使用模拟退火算法解决14个城市的TSP问题,使得从一个城市出发,遍历所有城市回到起点的路线最短。已知14个城市的位置为X=[16.4700 96.100016.4700 94.440020.0900 92.540022.3900 93.370025.2300 97.240022.0000 96.050020.4700...
2022-05-18 10:41:43 516
原创 使用模拟退火算法解决TSP问题
1.实验目的掌握模拟退火算法解决旅行商问题的方法。2.实验环境Matlab3.实验内容使用模拟退火算法解决14个城市的TSP问题,使得从一个城市出发,遍历所有城市回到起点的路线最短。已知14个城市的位置为X=[16.4700 96.100016.4700 94.440020.0900 92.540022.3900 93.370025.2300 97.240022.0000 96.050020.4700...
2022-05-10 19:23:15 2642
原创 实验5 卷积神经网络实验
一、实验要求在计算机上验证和测试Pytorch卷积神经网络的原理和算法实现,测试卷积神经网络的训练效果,同时查阅相关资料。实验目的1、掌握PyTorch的基本使用;2、掌握PyTorch的卷积神经网络;3、掌握PyTorch的图像分类训练流程;三、实验内容实验步骤import osos.environ["CUDA_VISIBLE_DEVICES"] = '0' #默认为显卡0import torchimport torch.nn as nnimport torch
2022-05-05 10:02:04 5170
原创 下列因素中,不会影响信道数据传输速率的是?
A信噪比 B频率带宽 C信道传输速率 D信号的传播速率题解:A和B是香农公式和奈奎斯特定理中主要影响因素C调制速率反映信号波形变换的频繁程度,其定义是每秒传输信号码元(波形)的个数,又称符号速率、码元速率或波特率,单位为波特(baud),码元的个数又能决定传输速率D信号的传播速率是信号在信道上的传播的速度,与数据的传输速率无关。...
2022-05-04 15:41:04 4457
原创 在下图所示的采用“存储-转发”方式分组的交换网络中,所有链路的数据传输速度为100mps,分组大小为1000B,其中分组头大小20B,若主机H1向主机H2发送一个大小为980000B的文件
在下图所示的采用“存储-转发”方式分组的交换网络中,所有链路的数据传输速度为100mps,分组大小为1000B,其中分组头大小20B,若主机H1向主机H2发送一个大小为980000B的文件,则在不考虑分组拆装时间和传播延迟的情况下,从H1发送到H2接受完为止,需要的时间是多少?解: 1.组文件长度为980000B,需拆分为1000个分组 2.B 头部文件 3.20000B+98000=1MB数据加上头部后,每个分组大小为1000B,...
2022-05-04 15:25:33 1276
原创 白盒测试总结+实例
一、逻辑覆盖逻辑覆盖按覆盖程度由低到高大致分为以下几类:(1)语句覆盖:设计若干测试用例,使程序中每一可执行语句至少执行一次;(2)判定覆盖:设计用例,使程序中的每个逻辑判断的取真取假分支至少经历一次;(3)条件覆盖:设计用例,使判断中的每个条件的可能取值至少满足一次;(4)判定/条件覆盖:设计用例,使得判断中的每个条件的所有可能结果至少出现一次,而且判断本身所有可能结果也至少出现一次;(5)修正判定/条件覆盖:判定中每个条件的所有可能结果至少出现一次,每个判定本身的所有...
2022-05-04 08:51:22 4006
原创 基于蚁群算法的TSP问题求解
1.实验目的掌握蚁群算法解决TSP问题。2.实验环境Matlab3.实验内容TSP问题中,使得从一个城市出发,遍历所有城市回到起点的路线最短。其中,31个城市的位置如下: 城市编号 横坐标 纵坐标 城市编号 横坐标 纵坐标 城市编号 横坐标 纵坐标 1 1304
2022-05-03 20:55:53 401
原创 基于鱼群算法的函数寻优
1.实验目的掌握鱼群算法求函数极值的问题。2.实验环境Matlab3.实验内容对给定函数max f(x)=xsin(10πx)+2.0 -1≤x≤2,求使得函数值最大的变量取值。4.实验过程 觅食行为:这是生物的一种最基本的行为,也就是趋向食物的一种活动;一般可以认为这种行为是通过视觉或味觉感知水中的食物量或浓度来选择趋向的。function [Xnext,Ynext]=AF_prey(Xi,ii,visual,step,try_number,LBUB,lastY)%觅食行为%输入:.
2022-04-30 21:07:47 590
原创 L2-033 简单计算器 (25 分)
#include<bits/stdc++.h>using namespace std;int main(){ int N; stack<int>x; stack<char>y; cin>>N; for(int i=0;i<N;i++){ int t; cin>>t; x.push(t); } for(int i=0;i<N-1;i++){ char t; cin>>t; y.pus.
2022-04-21 20:59:44 279
原创 KMP模式匹配算法代码实现
#include<bits/stdc++.h>using namespace std;void Next(string t,int next[]){ int i=0,j=-1; next[0]=-1; while(i<t.length()-1){ if(j==-1||t[i]==t[j]){ //第一位不等或者s[i]和t[i]相等 i++;j++; //匹配下一位 next[i]=j; }else{ j=next[j]; } }}in.
2022-04-20 16:36:18 537
原创 深度学习期中复习
第一章深度学习和机器学习差异机器学习基本问题:分类,回归,聚类,降维算法:KNN,贝叶斯,决策树,SVM,逻辑回归,随机森林,集成学习改变结构,实现不同的玩法,适应不同场合深度学习主要是解决分类,回归,模拟感知机,多层神经网络,卷积,递归,GAN统一的计算单元,通过变换参数和连接实现不同应用场合1.深度学习与机器学习的主要区别是在于性能。当数据量很少的时候,深度学习的性能并不好,因为深度学习算法需要大量数据才能很好理解其中蕴含的模式。2.深度学习算法严
2022-04-19 15:50:22 833
原创 有关二叉树的递归算法
//统计度为0的结点个数,其值用sum返回void leaf(BiTree T, int &sum){ if(T) { if(T->lchild==NULL && T->rchild==NULL ) sum++; leaf(T->lchild,sum); leaf(T->rchild,sum); } }...
2022-04-18 22:26:53 112
原创 实验5 基于粒子群算法的多目标搜索
1.实验目的掌握粒子群算法解决背包问题的方法,掌握引入惯性权重的粒子群算法应用。2.实验环境Matlab3.实验内容使用粒子群算法解决背包问题。假设存在五类物品,每类物品中又包含四种具体物品,现要求从这五种类别物品中分别选择一种物品放入背包中,使得背包内物品的总价值最大,总体积最小,并且背包的总质量不超过92kg。用C表示物品质量,X为选择物品。P为每个物品的价值,R为每个物品的体积。P,R,C的取值如下:初始化参数要求为:Dim=5; %粒子维数xSize=50...
2022-04-18 22:26:39 663
原创 图的深度搜索和广度搜索代码c
#include<iostream>#include<queue> using namespace std;typedef int VertexType;#define MaxVertexNum 100typedef int EdgeType;typedef struct{ VertexType Vex[MaxVertexNum]; EdgeType Edge[MaxVertexNum][MaxVertexNum]; int vexnum,arcnum; boo.
2022-04-18 22:26:17 499
原创 L2-021 点赞狂魔 (25 分)
#include<bits/stdc++.h>using namespace std;//创建结构体存储每个人,用集合来存储点赞的不同数据 ,在存储点赞的大小 typedef struct node{ set<int> s; string name; double sum;}; //比较大小 bool cmp(node a,node b){ if(a.s.size()>b.s.size()) //如果大于 return true; if(a.s.s.
2022-04-18 12:10:28 290
原创 二叉树转化为中缀表达式
void BtreeToExp(Tree T,int deep){ if(T==NULL){ return ; } else if(T->left==NULL&&T->right==NULL){ printf("%d",T->data); } else{ if(deep>1) cout<<"("; BtreeToExp(T->left,deep+1); printf("%d",T->data); Btree.
2022-04-15 22:20:10 1447
Python-Flask实战(2021-09-30-09-22-51).marginpkg
2021-09-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人