- 博客(12)
- 资源 (3)
- 收藏
- 关注
原创 分组卷积的实现
一、分组卷积的概念(回顾)前面讲了。这里简单回顾一下:分组卷积就是将特征图平均分为N组,然后每组内部进行正常卷积,然后N组得到的特征图按照通道维度进行拼接,得到输出。如图所示,左边是正常的卷积,输入通道为12,输出通道为6,卷积核大小为3*3。右边就是分组卷积。分成了三组,然后分别做卷积。每一组输入通道有4,输出通道为2。经过分组卷积之后,得到的也是6个通道输出。二、分组卷积的优缺点分组卷积的优点:1. 分组卷积的参数量是正常卷积的1/N 。N为分组数,这里为3。2.
2021-08-31 11:20:51 2843
原创 6. torchvision中的ResNeXt实现
在torchvision中,并没有单独实现ResNeXt,而是在实现ResNet的实现中顺便实现的。代码如下,我把与ResNeXt有关的拿出来了:import torchimport torch.nn as nndef conv3x3(in_planes, out_planes, stride=1, groups=1, dilation=1): """3x3 convolution with padding""" return nn.Conv2d(in_planes, ou
2021-08-30 15:28:35 541
原创 实验2:Inception-resnet-v2模型的实现
本来做的实验是:inception-resnet-v2模型实现,并且用它来进行推理,但是推理的部分实在是没必要做笔记。就是《inference汇总》稍微改了一点点而已。这里就只把inception-resnet-v2模型的实现列出来了。完整的inference的代码见:D:\pythonCodes\深度学习实验\4.1_经典分类网络\7:GoogLeNet v4\inference_inception_resnet_v2在torchvision中,是没有inception-v4的实现的。这里找的是:ht
2021-08-22 14:22:41 3250 8
原创 实验1:inception - v4模型的实现
本来做的实验是:inception-v4模型实现,并且用它来进行推理,但是推理的部分实在是没必要做笔记。就是《inference汇总》稍微改了一点点而已。这里就只把inception-v4模型的实现列出来了。完整的inference的代码见:D:\pythonCodes\深度学习实验\4.1_经典分类网络\7:GoogLeNet v4\inference_inceptionV4在torchvision中,是没有inception-v4的实现的。这里找的是:https://github.com/Cad
2021-08-22 14:08:39 900
原创 论文精读:Inception-ResNet的网络结构
讲了Inception v4之后,就很容易理解Inception-ResNet了。Inception-ResNet有两个版本:v1和v2。一、整体架构左图是Inception v4的网络结构,右图是Inception-ResNet v1和v2的结构。可以看到,Inception-ResNet v1和v2也是由6大模块组成的:Stem;Inception-resnet-A、B、C;Reduction-A、B。不同的应该是每一块的设计。二、详细结构对比2.1 stem左边
2021-08-21 17:35:23 1431
原创 Inception v4的网络结构
一、Inception v4整体架构Inception v4的整体框架如图9所示:分为6大模块:Stem;Inception-A、B、C;Reduction-A、B。每个模块针对性的设计。这也是缺点吧,适用性很差。换一个数据集谁知道行不行,谁知道改哪里啊。所以现在很少能看到inception v4和inception resnet,几乎没人用。二、详细介绍2.1 StemStem(主干),最大的作用就是快速降低特征图的分辨率,使得后面的inception减小计算量。共有9层。也.
2021-08-21 13:13:21 1409
原创 补充:标签平滑的实现
一、torch.gather()函数与交叉熵损失的计算1.1 torch.gather()函数这个函数较难懂。这里讲一下,因为后面可能用到。结果的形状与index的形状一样。比如上例中,index是一个2*2的张量,那么最后的结果就是2*2的张量。首先令out[i][j] = input[i][j],然后因为dim是1,所以要把j换掉,换成index[i][j]。这样就得到最后的结果了。out[0][0] = input[0][0], 把0换成index[0][0] = 0。所以..
2021-08-19 09:52:05 444
原创 补充:自适应池化
在alexnet的实现中,在FC层之前使用了AdaptiveAvgPool2d这个trick。自适应的池化。这个trick就是使得图片,不管多大的分辨率,输出都是6*6的。为什么要都统一成6*6呢?因为后面接了FC层,FC的输入神经元数目是固定的。如果前面的输入的神经元个数不匹配的话,那么这个FC层是没办法运行的。所以接了一个自适应的池化,把尺寸不匹配的特征图都池化到6*6。例1:当不加AdaptiveAvgPool2d()时,输入的尺寸必须是固定的。alexnet代码中不加自适应池化,
2021-08-15 16:09:08 2004
原创 GoogLeNet的实现
一、Inception模块的写法每一个inception的结构都一样,不同就是输入输出的通道数不一样。所以可以写成一个Module,这样就可以复用。以inception(3a)为例:代码:# @file name : test.py# @brief : Inception模块的写法# @author : liupc# @date : 2021/8/10import torchimport torch.nn as nndef Bas.
2021-08-10 20:29:39 308
原创 3. 论文精读1:Inception模块、GoogLeNet网络结构
一、GoogLeNet结构1.1 Inception 结构如图,右边是Inception的结构。左边是简单版本。简单版本存在一些问题,然后改进得到后面的版本。通过命名"Inception module with dimension reducetions"就知道,是通过降维的方法来改进的。怎么做改进的呢?我们通过找茬来看看:可以看到,改进就是加了3个1*1的卷积。1*1的卷积就是用来做降维的。(1)(2)(3) Inception Module的特点1..
2021-08-09 15:56:35 634
原创 图像检索评价指标:mAP@k、mAP的计算
一、mAP(mean Average Precision,平均检索精度)【原理】很多地方喜欢用这张图来解释,确实画的很好。这张图是求mAP@10的结果。mAP@k,就是查询的时候返回k张图片,然后计算mAP。mAP呢,就是对所有的结果都进行排序。k就等于gallery数据集的大小了。【举例】假设有3张图片,这三张图片的哈希码为:query1=[1,-1,1,1], query2=[-1,1,-1,-1],query3=[1,-1,-1,-1]。数据库中有7张图片,对应的哈
2021-08-05 16:42:53 10122 13
隐马模型解决词性标注问题
2018-07-28
使用CRF++工具进行人名识别
2018-07-12
《矩阵论 第三版》程云鹏(竖着排版版的格式)+配套答案
2018-06-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人