- 博客(25)
- 收藏
- 关注
原创 论文阅读笔记之标签平滑
论文题目:When Does Labels Smoothing Help?(来自谷歌大脑)目录一、标签平滑1. 什么是标签平滑二、主要工作二、可视化一、标签平滑1. 什么是标签平滑二、主要工作平滑标签能够防止神经网络变得过于自信,标签平滑技术被很多先进的网络所使用。(1)对标签平滑如何提高网络的泛化能力进行了可视化论证(2)标签平滑具有隐式的网络校正功能(3)在知识蒸馏的情况下,不使用标签平滑二、可视化...
2020-12-21 20:55:28 879 1
原创 深度学习中的数据增强方法之FMix
论文题目:FMix: Enhancing Mixed Sample Data Augmentation-2020官方代码:FMix-Pytorch 数据增强方法之FMix一、摘要二、介绍2.1 MixUp和CutMix方法的优缺点2.2 FMix方法三、方法四、代码实现4.1 计算lambda值4.2 生成低频图像4.3 二值图像五、实验结果一、摘要近几年,样本融合的数据增强方法获得了越来越多的关注,比如一些很成功的变体-MixUp和CutMix。受到CutMix方法的启发,我们提出了FMix方法
2020-12-15 19:22:45 3500
原创 论文阅读笔记之MobileNetV2
论文题目: MobileNetV2: Inverted Residuals and Linear Bottlenecks论文代码: MobileNetV2——Pytorch版本目录摘要一、介绍二、相关工作三、深度可分离卷积3.1 常规卷积3.2 Depthwise and Pointwise Convolution四、线性瓶颈五、反向残差六、模型结构摘要在本文中,我们提出了一个新的移动架构——MobileNetV2。同时,我们也描述了一种应用这些移动模型到目标检测的有效方法——SSDLite。另外,
2020-12-13 13:21:59 905
原创 深度学习中的数据增强方法之CutMix
目录CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features摘要Mixup、Cutout和CutMix三种数据增强方法CutMix算法中涉及到的公式对应的代码讨论带有CutMix的模型学习到了什么?CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features作者在论文中提出了一种新的
2020-12-10 16:33:54 3136
原创 利用Xshell连接虚拟机中的Linux系统
1.使用虚拟机打开Linux系统打开VMware Workstation 16软件,启动事先安装好的Linux系统成功启动Linux系统2.获取Linux系统IP地址在Linux系统中,打开终端输入命令:ifconfig以inet开头,后面的一串数字就是IP地址,记住这个IP地址!!3.打开Xshell软件新建会话输入上面得到的IP地址输入Linux系统的用户名和密码,这里的用户名不是开机显示的用户名(填了连接失败),填写终端命令行开头,作为用户名!4.登录成功
2020-11-07 20:46:59 388
原创 满二叉树、完全二叉树、平衡二叉树、二叉搜索树(二叉查找树)和最优二叉树
1. 满二叉树定义: 一个二叉树,除去最后一层无任何子结点外,每一层上的所有结点都有两个子结点。或者说,如果一个二叉树的层数为k,且节点总数为(2^k)-1,则它就是满二叉树。图示:2.完全二叉树定义: 一颗深度为k的有n个结点的二叉树,对树种的结点按从上到下,从左到右的顺序进行编码,如果编码为i的结点与满二叉树中编码为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。通俗来讲: 除了k层以外,其他层的结点数都达到最大,在第k层的结点都连续 集中在最左侧,这就是完全二叉树。图示:3
2020-11-02 10:33:59 1399 5
原创 torch.cat与torch.stack的区别
torch.cat()的用法torch.cat用于矢量的拼接,例如:# torch.cat用法:import torchA = torch.ones(2,3)print(A)B = torch.ones(2,3)print(B)C = torch.cat((A,B),0) # 按行拼接print(C)D = torch.cat((A,B),1) # 按列拼接print(D)------------输出----------------------tensor([[1., 1., 1.
2020-10-15 19:49:41 975
原创 Pandas函数之shift()方法
Shift()参数说明shift(periods,frep,axis)periods: 表示移动的长度,正数表示向下移动数据,负数表示向上移动数据。索引不变。如果移动之后没有对应的数据,则赋值为NaN。frep: 默认值为None,用于时间序列。按照参数值移动时间索引,而数据不移动。axis: 表示移动的方向,0或者index表示上下移动,1或者colums表示左右移动。...
2020-10-03 16:33:35 948
转载 卷积层提取的特征具有平移不变性
1. 什么是不变性不变性是指目标发生了变换,但是你依然可以识别出来。对于图像处理任务来说,这是一种很好的特性。图像中的目标即使被平移、旋转或者缩放,模型都可以识别出来图像中的目标。不变性有以下几种类型:平移不变性;旋转不变性;尺度不变性;光照不变性。对于图像分类任务: 平移不变性就是图像中的目标不管被移动到哪个位置,模型给出的标签都是相同的。除此之外,还有一个对应的概念:平移同变性。是指:在图像的目标监测中,如果输入图像中的目标进行了平移,那么最终检测出来的候选框应该也相应的移动,这就是同时改变。
2020-10-02 17:25:00 2626
转载 卷积的变种之分组卷积
分组卷积介绍分组卷积最初是在AlexNet网络中出现的,主要为了解决单个GPU无法处理含有大量计算量和存储需求的卷积层这个问题。目前,分组卷积多被用于构建用于移动设备的小型网络模型。例如深度可分离卷积。原理在介绍原理之前,需要放上一张经典的图示(图片来源)。其中,最上面的是传统卷积操作的示意图,下面的是分组卷积操作的示意图。对分组卷积操作的说明:既然是分组卷积,肯定是需要对输入特征图进行分组,例如:将输入特征图根据通道数分成g组,则每组输入特征图的尺寸为 HW(c1/g)HW(c_1/
2020-09-28 20:57:56 932
原创 聚类算法之K均值聚类
K-Means聚类方法1. 介绍k均值聚类是基于样本集合划分的聚类算法。由于每个样本在划分的过程中只能属于一个类别,所以k-Means算法属于硬聚类。2. 算法过程k均值聚类算法是一个迭代的过程,每次迭代包括两个步骤:(1)初始化:随机选择k个样本作为初始聚类中心(2)对样本进行聚类:计算每个样本到类中心的距离,将每个样本指派到与其最近的中心得类中,构成聚类结果。(3)计算新的聚类中心:对(2)中得到的聚类结果,计算各个类中的样本的均值,作为新的聚类中心。(4)如果迭代收敛或符合停止条件,
2020-09-09 20:14:02 3461
原创 map()方法在分类任务中的应用
在已知右边表示label的情况下,例如 :0表示正常(CN),1表示异常(AD)。要想满足提交的结果格式,需要将0-CN,1-AD对应起来。利用map()方法实现:pd['label'] = pd['label'].map({1:'AD', 0:'CN'})通过上述代码实现第二幅图片的结果...
2020-08-08 10:33:47 230
原创 K折交叉验证的使用之KFold和split函数
使用方法:# 导入方式from sklearn.model_selection import KFoldKFold(n_split, random_state, shuffle)参数:n_split:需要划分多少折数shuffle:是否进行数据打乱random_state:随机数skf = KFold(n_splits=10, random_state=233, shuffle=True)KFold()方法中的split():split(a,b):方法会根据折数对a和b进行划分。
2020-08-03 18:21:26 12367 2
原创 Pytorch函数之topk()方法
根据Pytorch中的手册可以看到,topk()方法用于返回输入数据中特定维度上的前k个最大的元素。torch.topk(input, k, dim=None, largest=True, sorted=True, out=None) -> (Tensor, LongTensor)参数说明:input -> 输入tensork -> 前k个dim -> 默认为输入tensor的最后一个维度sorted -> 是否排序largest -> False表示返回
2020-08-02 21:15:19 7470
原创 torch.sigmoid()、torch.nn.Sigmoid()和torch.nn.functional.sigmoid()三者之间的区别
在利用自定义损失函数进行损失计算的时候,需要使用到sigmoid函数。当在训练模型的时候,使用torch.nn.Sigmoid()对输出进行处理,但是提示__init__错误。我发现光sigmoid()就有三种调用的方式:torch.sigmoid(),torch.nn.Sigmoid()和torch.nn.functional.sigmoid()。torch.sigmoid():这是一个方法,包含了参数和返回值。torch.nn.Sigmoid():可以看到,这个是一个类。在定义模型的初始化方法
2020-07-29 15:25:26 15401 1
原创 使用pandas中的cut方法对数据进行分箱操作
Pandas库中的cut()方法可以用来对数据进行分箱操作:nums = np.random.uniform(0,100,size=30) #随机生成0-100之间的30个数字nums = np.round(nums,1) # 保留一位小数group = [0,59,70,85,100] # 分组划分print(result = pd.cut(nums,group))# 判断nums中的每个数字属于哪个区间# [(0, 59], (85, 100], (0, 59], (70, 85], (0,
2020-07-27 21:38:00 1150
原创 max()函数中的key参数使用
# 获取KNN_list中最大值KNN_list = [(1,2),(2,3),(3,4)]max(KNN_list, key= lambda x: x[0]) # key参数:指定KNN_list中,每个元组元素的第一个值。
2020-07-12 19:51:05 802
原创 最小二乘法函数leastsq()的简单介绍
leastsq()函数位于Scipy的optimize模块中,利用leastsq()函数可以对数据进行拟合。leastsq()函数的参数:leastsq(func,x0,args=()…),其中常用的是前三个参数。参数的介绍:p_init = np.random.rand(M + 1) # M:多项式的次数p_lsq = leastsq(loss_function, p_init, args=(x,y))# y是加上正态分布噪声的真值func:表示误差函数(损失函数)def fit_func
2020-06-26 21:45:55 3389 1
转载 位运算-左移和右移操作
位运算按位与(&);按位或(|);按位取反(~);按位异或(^);左移(<<);右移(>>)1.左移运算符(<<):左移运算符就是将二进制进行左移 y\ y y,末尾补0。作用相当于对整数 x\ x x进行: x∗2y\ x*2^y x∗2y。2.右移运算符(>>):右移运算符就是将二进制进行右移 y\ y y 位。开始处补符号位。作用相当于对整数 x\
2020-06-16 15:44:03 2103
原创 pytorch中的index_select函数
index_select(dim, index):dim: 按行/列进行索引,dim=0表示按行,dim=1表示按列。index: 是一个tensor类型,用于索引行/列数值的一个列表,例如[1,2],dim=0,表示按行索引1和2行值。[1,3,5],dim=0,表示按行索引第1,3,5行。备注: 可以使用index_select()函数生成batch_size大小的样本(例如在线性回归中,自定义一个读取batch_size大小的函数,每次返回batch_size大小的样本和标签)。...
2020-06-10 16:58:32 1042
转载 Xception中的Depthwise卷积和Pointwise卷积
Depthwise卷积和Pointwise卷积构成了Depthwise Separable Convolution(Xception论文地址),该结构相比于常规卷积,其参数量和运算成本较低,常常出现在MobileNet等轻量级结构中。Depthwise Separable Convolution它将一个完成的卷积运算分成两步完成,即DW和PW。Depthwise ConvolutionDW卷积中: 一个卷积核负责一个channel。输入通道数等于输出通道数,即卷积核的数量等于输入特征图的通道数。
2020-06-09 22:00:33 283
原创 Python——负数的存储形式
1.正数和负数的原码、反码和补码:正数的原,反和补码一样负数的反码:除符号位外,按位取反负数的补码:反码+12.Python的负数存储:在Python中,数字以补码的形式存储。想要获取负数的补码形式:将数字与十六进制数 oxffffffff 进行与操作。将负数补码数字还原为Python的存储格式:~(a ^ oxffffffff): ^ 表示按位取反, ~ 表示对32位以上的位取反。...
2020-06-09 12:36:04 1861
转载 模型融合之stacking
放上一张经典的stacking过程图stacking模型融合的大概过程(个人理解):使用训练集对基础模型进行k折交叉验证,k=5。得到验证集的预测结果记为a1。同时,对测试集进行预测,得到测试集的预测结果记为b1。因为k=5,所以上面的过程会执行五次。分别会得到a1,a2,a3,a4,a5和b1,b2,b3,b4,b5。将a1-a5的预测值进行stack,得到New Feature,记为A1。对于b1-b5则取平均值,得到B1上面是一个基础模型的过程,在stacking中,同一层包含了多个模型
2020-06-08 16:03:23 852
原创 逻辑运算符的短路效应
常见的逻辑运算符包括三种:与、或和非。符号表示&&,||和!。逻辑运算符还有其重要的短路效应。短路效应:示例: 1:if (A && B) // 只要A是False,则最终结果为False不对B进行判断(短路)。2: if (A || B) // 只要A是True,则最终结果为True不对B进行判断(短路)。...
2020-06-08 14:50:00 861
转载 语义分割、实例分割和全景分割
随笔小记参考了:什么是语义分割、实例分割、全景分割,记录一下,方便以后查看。1. 什么是语义分割就是对图像中的每个像素进行分类,打上类别标签。如下图所示,将相同的类别分割出来(人:红色,树:深绿,草地:浅绿,天空:蓝色)。2.什么是实例分割实例分割除了将相同的类别分割出来,还能区分出相同类别中的不同实例。与语义分割不同,在检测出人的同时,还对人进行了区分,即区分出同类的不同实例。3. 什么是全景分割语义分割与实例分割的结合。不但要将所有目标都检测出来,又要区分出同类别中的不同实例。.
2020-06-07 21:52:18 682
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人