压力检测论文笔记
压力检测论文笔记
对于目标检测方向并不是特别熟悉,本文记录一下RCNN, fast-RCNN, faster-RCNN, mask-RCNN这4篇有关目标检测的论文笔记和学习心得。
R-CNN的意思就是Region based,主要思路就是根据一张图像,提取多个region,再将每个Region输入CNN来进行特征的提取。因此RCNN就可以分为 Region proposals , Feature extraction 两个主要部分,提取的特征就可以输入任意一个分类器来进行分类。 模型的流程图如下:
在训练的时候,首先使用的是已经训练好的CNN网络作为特征提取器,但是由于预训练是在分类数据集上,因此在应用到检测之前要做finetune。也就是说,为了将用ImageNet数据集训练的网络应用到新的任务(检测),新的数据集(region)上,作者将原来的CNN最后的1000类的fc层,更改为了 层, 代表待检测的物体的类别数。然后,对于所有的region,如果它和ground truth的重叠率大于0.5,就认为是正类。 对于分类器的训练,作者发现选择多大的IoU来区分正类和负类非常关键。并且,对于每一类,都会训练一个分类器。
框的回归非常重要,在对每一个region proposal使用分类器进行打分评价之后,作者使用一个回归器来预测一个新的框作为结果。这个回归器使用的特征是从CNN中提取的特征。回归器的训练中,输入是 region proposal 的 和ground truth的 ,目标是学习一种变换,使得region proposal通过该变换能够接近ground truth。同时,希望这种变换拥有尺度不变性,也就是说尺度变化的话,变换不会改变。 如下图所示,每一个regressor会学习一组参数,特征输入是pool 5的特征输出,拟合的目标是 。
Fast-RCNN 主要解决的问题是在RCNN中对于每一个region proposal都进行特征提取,会产生非常多的冗余计算,因此可以先对一张图像进行特征提取,再根据region proposal在相应的特征上进行划分得到对应region的特征(映射关系)。 这样便可以实现共享计算提高速度,但是与SPPnets不同,SPPnets在一副图像得到对应的特征后,从这张图像的特征上proposal对应的部分,采用空间金字塔池化,如下图:
RoI pooling的方法很简单,类似于空间金字塔pooling,它将proposal部分对应卷积层输出的特征(称之为RoI,因为用于做pooling的特征是 region of interest,也就是我们感兴趣的区域)划分成 块,然后对每一块求最大值,最终得到了一个 的特征图。可以看出,它只是空间金字塔pooling的一部分。 但是SPP-nets的空间金字塔也是可以求导的,那么它到底不好在哪里呢?因为当每一个RoI都可能来源于不同的图像的时候(R-CNN和SPPnets的训练策略是从一个batch的不同图像中,分别挑选一个proposal region),SPPNets的训练非常地低效,这种低效来源于在SPPnets的训练中,每个RoI的感受野都非常地大,很可能对应了原图的整个图像,因此,得到的特征也几乎对应了整张图像,所以输入的图像也就很大。 为了提高效率,Fast-RCNN首先选取 个图像,再从每个图像上选择 个RoI,这样的效率就比从每个图像提取一个RoI提高了 倍。
为了将分类和框回归结合起来,作者采用了多任务的loss,来进行联合的训练。具体来说就是将分类的loss和框回归的loss结合起来。网络的设计上非常直接,就是将RoI得到的特征接几个FC层后,分别接不同的输出层。对应于分类部分,特征会接一个softmax输出,用于分类,对于框回归部分,会接一个输出4维特征的输出层,然后分别计算loss,用于反向传播。loss的公式如下:
回归的target可以参考前面的R-CNN部分。
notes
为什么比fast还fast呢?主要原因是在这篇论文中提出了一个新的层:RPN(region proposal networks)用于替代之前的selective search。这个层还可以在GPU上运算来提高速度。 RPN的目的:
为了能够进行region proposal,作者使用了一个小的网络,在基础的卷积层输出的特征上进行滑动,这个网络输入大小为 ,输入后会映射(用 的卷积)为一个固定长度的特征向量,然后接两个并联的fc层(用 的卷积层代替),这两个fc层,一个为box-regressoin,一个为box-classification。如下图:
在每一个滑动窗口(可以参考 ),为了考虑到尽可能多的框的情况,作者设计了anchors来作为region proposal。anchors就是对于每一个滑动窗口的中心位置,在该位置对应的原图位置的基础上,按照不同的尺度,长宽比例框出 个不同的区域。然后根据这些anchors对应的原始图像位置以及区域,和ground truth,就可以给每一个滑动窗口的每一个anchor进行标记,也就是赋予label,满足一定条件标记为正类(比如和ground truth重叠大于一个值),一定条件为负类。对于正类,就可以根据ground truth和该anchor对应的原图的区域之间的变换关系(参考前面的R-CNN的框回归),得到回归器中的目标,用于训练。也就是论文中的loss function部分:
自然地,也就要求RPN的两个并联的FC层一个输出2k个值用于表示这k个anchor对应的区域的正类,负类的概率,另一个输出4k个值,用于表示框回归的变换的预测值。
对于整个网络的训练,作者采用了一种叫做 4-step Alternating Training 的方法。具体可以参考论文。
与之前的检测任务稍有不同,mask r-cnn的任务是做instance segmentation。因此,它需要对每一个像素点进行分类。 与Faster R-CNN不同,Faster R-CNN对每一个候选框产生两个输出,一个是类别,一个是bounding box的offset。Mask R-CNN新增加了一个输出,作为物体的mask。这个mask类似于ps中的蒙版。
与Faster R-CNN类似的是,Mask R-CNN同样采用RPN来进行Region Proposal。但是在之后,对于每一个RoI,mask r-cnn还输出了一个二值化的mask。
不像类别,框回归,输出都可以是一个向量,mask必须保持一定的空间信息。因此,作者采用FCN来从每个RoI中预测一个 的mask。
由于属于像素级别的预测问题,就需要RoI能够在进行特征提取的时候保持住空间信息,至少在像素级别上能够对应起来。因此,传统的取最大值的方法就显得不合适。 RoI Pooling,经历了两个量化的过程: 第一个:从roi proposal到feature map的映射过程。 第二个:从feature map划分成7*7的bin,每个bin使用max pooling。
为此,作者使用了RoIAlign。如下图
为了避免上面提到的量化过程
可以参考
作者使用ResNet作为基础的特征提取的网络。 对于预测类别,回归框,mask的网络使用如下图结构:
整体看完这几篇大佬的论文,虽说没有弄清楚每一个实现细节,但是大体上了解了算法的思路。可以看出,出发点都源于深度神经网络在特征提取上的卓越能力,因此一众大神试图将这种能力应用在检测问题中。从R-CNN中简单地用于特征提取,到为了提高速度减少计算的Fast R-CNN,再到为了将region proposal集成进入整个模型中,并且利用GPU加速的RPN,也就是Faster R-CNN。再到为了应用于instance segmentation任务中,设计的RoIAlign和mask。包括bounding box regression,pooling层的设计,训练方法的选择,loss的设计等等细节,无一不体现了大师们的思考和创造力。 可能在我们这些“拿来”者的眼中,这些方法都显得“理所应当”和巧妙,好用,但是,它们背后隐藏的选择和这些选择的思考却更值得我们学习。 以及,对待每一个问题,如何设计出合理的解决方案,以及方案的效率,通用性,更是应该我们努力的方向。
Automatic Pixel-Level Crack Detection on Dam Surface Using Deep Convolutional Network 论文笔记
Automatic Pixel-Level Crack Detection on Dam Surface Using Deep Convolutional Network 论文笔记
论文:Automatic Pixel-Level Crack Detection on Dam Surface Using Deep Convolutional Network
Received: 2020.01.17
大多数坝面裂缝检测只能实现裂缝分类及粗略的定位。像素级语义分割检测可以提供更加精确直观的检测结果。作者提出一种基于深度卷积网络的坝面裂缝检测算法。首先使用无人机进行数据采集,然后对采集到的图像进行预处理(包括裁剪、手动标注),最后对设计好的CDDS 网络结构进行训练、验证和测试。
与ResNet152-based SegNet U-Net FCN 进行了比较。
大坝是水电站的重要水利建筑物。大坝的安全运行对于水电站有着重要的意义。由于结构变形、地震、水流引起的裂缝对大坝坝体产生严重的影响并威胁到水电站的安全运行。因此,对大坝结构的定期健康评估,特别是对大坝裂缝的检测任务变得尤为重要。
根据大坝裂缝的结构特征以及裂缝强度,人们可以对大坝的结构健康进行评估和监测。传统的大坝裂缝的巡检任务通常基于人工进行检测,但是效率低下、耗时费力,浪费了大量的人工成本,因此对裂缝的自动高效检测是非常必要的。
基于计算机视觉的裂缝检测算法得到了广泛的研究。这些方法大多采用传统的图像处理技术和机器学习方法,以识别出一些简单的结构损伤。
这些方法利用手工提取的特征从图像中提取特征,然后评估提取的特征是否表示缺陷。然而,上述方法的结果不可避免地受到主观因素的影响
卷积神经网络(CNN)在图像分类和识别领域取得很大的进步,基于CNN的裂缝检测算法也展示出更优异的表现。
大坝裂缝的特点:
修补痕迹、噪声大、背景纹理复杂、非结构化的、分布不均匀、裂缝位置随机、背景模糊等缺点
提出了一种像素级的大坝表面裂缝检测方法,利用深卷积网络进行特征提取。利用浅卷积层的定位特征和深卷积层的抽象特征,进行 多尺度卷积级联融合和多维损失值计算 ,实现裂纹缺陷像素级分割,并以高精度、高效率等优点解决了坝面明显裂缝检测问题,消除了可能存在的安全隐患,确保了坝面安全。实验结果表明,该方法对大坝表面像素级裂缝的检测是最优的。
语义分割
PSPNet [42],ICNet [43], Deeplabv3[44],UNet [45] and SegNet [46]
语义分割网络通常分为编码网络和解码网络。
编码网络:
卷积层:用于提取输入图像的特征
池化层:减小feature map的规模,减轻计算负担。
解码网络:
反卷积层(反褶积层):上采样还原feature map大小与输入图像相同,并输出预测结果。
编解码网络结构高度对称:同时利用稀疏feature map和稠密feature map。
为了融合sparse 和 dense feature ,采用跳跃模块以连接编解码网络。
编码网络:
15 卷积层:3*3 步长1
4 池化层: 2*2 步长2
解码网络:
15 反卷积层 1*1
4池化层
采用dropout和BN防止过拟合。
Skip branch
4个,1*1卷积和反卷积
每个branch计算 branch loss,4个branch loss级联为总损失的一部分。
Skip branch 的输入输出图像大小不变。
卷积核的通道数必须等于输入张量的通道数。
降采样 取矩阵最大值 卷积核大小 2*2 步长为2。
反褶积也叫做转置卷积
通过上采样还原feature map与输入图像大小相同。
上采样方法:反褶积法、 插值法
反褶积法:对张量进行zero-padding填充最外层,再用反褶积核进行反褶积,修剪第一行和最后一行。
1000副5472*3648图像
使用LEAR软件手动标记。
得到504张数据集,404用于训练,50用于验证,50用于测试。
在Linux系统上使用TensorFlow构建的
在配置了8 GB GPU的HP工作站上执行培训、验证和测试
利用Anaconda建立了CDDS网络的虚拟python环境
评价指标:
Precision精度表示在所有预测破裂的样本中,样本的基本真实性也被破解的概率。
Recall召回表明在所有标记为开裂的样本中,样本被预测为开裂的概率。当正负样本数量存在较大差距时,仅使用精确性或召回率来评估性能是不合理的。TPR表示所有标记为裂纹的样本中被正确预测为裂纹的概率。TNR代表以标签为背景的所有样本中被正确预测为背景的概率.
F-measure考虑到查全率和查准率的综合影响,F-测度是一个综合指标。
IoU是目标检测领域中常用的评价定位精度的方法。IoU表示预测结果与地面真实值的交集与联合的交集的比率。
大坝表面裂缝图像分为背景和裂缝两类。背景像素的数目远大于裂纹像素的数目。通常情况下,我们会同时计算背景arrears和裂缝arrears,然后以两张arrears的平均数作为最终arrears。IoU值是由背景像素决定的,不能准确表达裂纹的定位精度。
使用三种学习速率10^4,10^5,10^6
使用softmax函数计算概率
使用Dice loss计算网络损失。
裂缝骨架提取:快速细化算法
调用OpenCV库,进行计算。
计算裂缝面积及长度宽度。
使用其他裂缝数据集进行补充验证 ,在测试数据集上,提出的CDDS网络的裂纹IOU和F测度分别达到67.41%和80.14%
略。
【CV论文笔记】MobileNetV2: Inverted Residuals and Linear Bottlenecks(MobileNetV2理解)
本文主要用于介绍谷歌实验室团队于2018年提出的一种轻型网络MobileNetV2。本笔记主要为方便初学者快速入门,以及自我回顾。
论文链接:
基本目录如下:
------------------第一菇 - 摘要------------------
在本论文中,我们描述了一种新的网络架构MobileNetV2,该网络在多个视觉基础任务上相比于第一代MobileNets都取得了更好的效果。我们同时还针对目标检测任务,基于我们的MobileNetV2,改进出了一套新的架构,名为SSDLite。同时,对于实例分割任务,我们也在DeepLabv3的基础上进行了改进,提出了Mobile DeepLabv3。
整套MobileNetV2网络架构是基于翻转残差结构的(inverted residual structure),其中依然采用了轻型的深度卷积(depthwise convolutions)来实现滤波操作,同时我们将那些非线性的激活函数给移除了。这一操作带来了不少效果的提升,后文我们也会进行一定的阐述。
最后我们想说,我们的架构能很容易的被迁移应用于其他应用研究。当然,我们也在ImageNet分类,COCO目标检测,VOC图像分割上进行了实验,与其他模型也会进行仔细对比,包括时效性,参数量,准确性等~
------------------第二菇 - 核心思想------------------
不了解MobilesNet第一版的同学,可以先看其第一版的,我自己的个人链接 笔记 也在此献上。
MobileNetsV1版本的想必大家都了解清楚了,但是第一版有一个很奇怪的问题,那就是深度卷积部分的卷积核比较容易训废掉,训废的意思就是发现训练出来的卷积核不少是空的,如下图所示【1】,
而训废的锅,作者认为是ReLU激活函数的锅。。。并且写了好长好长的理论来证明这件事情。。。(很多东西本菇也难以理解。。。只能看看各路大神的想法,这里总结一下)
直接看一张原论文中的图,
上面这张图想表达的意思其实很简单,就是 对低维度做ReLU运算,信息丢失的很多 (如上图,dim=2,3的时候,边界那里直接就没了 ),但是如果是 对高维度做ReLU运算,信息的丢失就会相对减少了 (比如上图,dim=30的时候,边界那里还保留了很多)
因此,这也就解释了卷积核很多是空的现象。因此,作者在第二代中就将ReLU替换成了线性的激活函数。
当然在真实运用时,并不是将所有的激活函数都替换成了线性了(。。。如果真是这样就要报警了?),其实只有把最后那个ReLU6给替换成了线性的,如下图所示~
这一块就比较好理解了,其实就是借鉴了残差模块的思想,引入了shortcut结构,但是,这里是inverted!是颠倒残参,那具体的区别是什么呢?
直接贴一张原论文中的图,方便讲解,
首先我们来看一下 残差模块 ,输入首先是经过 卷积进行压缩,然后利用 的卷积进行特征提取,最后再用 的卷积将整个通道数变回去,整个过程就是“降维-卷积-升维”,这样的目的也很简单就是为了减少 模块的计算量,提供整个残差模块的计算效率。
接着我们再来看一下 倒置残差模块 ,输入首先经过 的卷积进行通道扩张,然后使用 的depthwise卷积,最后再用 的卷积将通道数压缩回去,整个过程就是“升维-卷积-降维”,因此整个是与标准的残差模块相反的操作。
这里盗一张网上的图【2】,感觉阐述的很清晰,
而之所以要升维的原因,是因为depthwise本身没有改变通道数的能力,而其在低维度上的表现又比较糟糕,因此,需要升维,从而提高准确率。
至此,本文的2个创新点已经阐述完毕,这里再贴一张V2的block示意图【1】,
当然,少不了要和V1进行对比,这里再盗一张图【2】,
至此,整个MobileNetV2感觉已经说清楚了,具体的网络架构和实验结果,本文就不多做阐述了,论文里都有而且易懂~
------------------第三菇 - 总结------------------
到这里,整篇论文的核心思想已经说清楚了。本论文主要是在MobileNets的基础上又提出了一种轻型的网络架构MobileNetV2,并实验证明了该网络的可行性,为后续发展奠定了基础。
简单总结一下本文就是先罗列了一下该论文的摘要,再具体介绍了一下本文作者的思路,也简单表述了一下,自己对整个MobileNetV2网络架构的理解。希望大家读完本文后能进一步加深对该论文的理解。有说的不对的地方也请大家指出,多多交流,大家一起进步~?
参考文献: 【1】 【2】
RFBnet 论文笔记
论文地址: 官方源码(pytorch):
主要说了目前表现好的目标检测主要基于较深的网络(例如Resnet,Inception),其缺点就是大量的计算成本,速度慢。而一些轻量级的网络速度较快,但检测的精度相对不高。作者提出了RFB模块,并将它添加到SSD的顶部,构建了RFBnet。
为了构建快速而强大的探测器,合理的替代方案是通过引入某些手工制作的机制来增强轻量级网络的特征表示,而不是一味地加深模型。
RFBnet 结构说明
过
RFB其实就是多分枝卷积块,其内部结构由两部分组成: 1.前一部分与inception一致,负责模拟多尺寸的pRF 2.后一部分再现了人类视觉中pRF与离心率的关系 下图给出了RFB及其对应的空间池区域图
具体来说,首先,我们在每个分支中采用瓶颈结构,由1×1转换层组成,以减少特征映射中的通道数量加上n×n转换层。其次,我们用两个堆叠的3×3转换层替换5×5转换层,以减少参数和更深的非线性层。出于同样的原因,我们使用1×n加n×1转换层来代替原始的n×n转换层。最后,我们应用ResNet 和Inception-ResNet V2 的快捷方式设计。
也叫做astrous卷积层, 该结构的基本意图是生成更高分辨率的特征图,在具有更多上下文的更大区域捕获信息,同时保持相同数量的参数 。
下图示出了多分支卷积层和扩张合并或卷积层的两种组合
所提出的RFB网络探测器重用了SSD的多尺度和单级框架,其中RFB模块被嵌入以改善从轻量级主干提取的特征,使得探测器更准确且仍然足够快。 由于RFB的特性可以轻松集成到CNN中,我们可以尽可能地保留SSD架构。 主要的修改在于用RFB代替顶部卷积层
使用与SSD中完全相同的骨干网络。 简而言之,它是在ILSVRC CLS-LOC数据集上预先训练的VGG16 ,其中fc6和fc7层被转换为具有子采样参数的卷积层,并且其pool5层从2×2-s2变至3×3-s1。 空洞卷积层用来填充空缺和所有dropout层,并移除fc8层。
保持相同的SSD级联结构,但具有相对较大分辨率的特征映射的卷积层被RFB模块取代。 在RFB的主要版本中,我们使用单一结构设置来模仿离心率的影响。 随着视觉图之间pRF大小和离心率的差异,我们相应地调整RFB的参数以形成RFB-s模块,其模拟浅人类视网膜图中较小的pRF,并将其置于conv4 3特征之后,如 由于其特征映射的分辨率太小而无法应用具有大型内核(如5×5)的滤波器,因此保留了最后几个卷积层。
train主要遵循SSD,包括数据增强,硬负挖掘,默认框的比例和宽高比,以及损失函数(例如,用于定位的平滑L1损失和用于分类的softmax损失),同时我们稍微改变了我们的学习速率调度 更好地适应RFB。 更多细节在以下实验部分中给出。 使用MSRA方法初始化所有新的conv层。
后面主要是描述研究的成果,与其他网络的对比,就不多描述了,以后补充更多关于RFBnet的细节
AlexNet 论文笔记
对象识别任务的巨大复杂性意味着这个问题不能被指定,即使通过像ImageNet这样的大数据集,,因此我们的模型应该也有许多先验知识来补偿我们所没有的数据。
介绍了ImageNet,ILSVRC-2010数据集,alexnet对图像进行下采样到256*256,之后仅对图像上的像素减去平均值。然后进行训练
也有人尝试别的激活函数,例如|tanh|在Caltech101上就表现的非常好,然而他们的目的是配合归一化增加模型的防过拟合能力,而不同于我们使用ReLU的加速能力。
在训练中发现,重叠池化更难过拟合
AlexNet网络包含8个带权重的层,前五层是卷积层,后三层是全连接层。最后的全连接层的输出是1000维softmax的输入,对应着1000个类别。
第2,4,5卷积层的核只与位于同一GPU上的前一层的核映射相连接。第3卷积层的核与第2层的所有核映射相连。全连接层的神经元与前一层的所有神经元相连。第1,2卷积层之后是响应归一化层。最大池化层在响应归一化层和第5卷积层之后。ReLU非线性应用在每个卷积层和全连接层的输出上
第1卷积层使用96个核对224 × 224 × 3的输入图像进行滤波,核大小为11 × 11 × 3,步长是4个像素(核映射中相邻神经元感受野中心之间的距离)。第2卷积层使用用第1卷积层的输出(响应归一化和池化)作为输入,并使用256个核进行滤波,核大小为5 × 5 × 48。第3,4,5卷积层互相连接,中间没有接入池化层或归一化层。第3卷积层有384个核,核大小为3 × 3 × 256,与第2卷积层的输出(归一化的,池化的)相连。第4卷积层有384个核,核大小为3 × 3 × 192,第5卷积层有256个核,核大小为3 × 3 × 192。每个全连接层有4096个神经元。
alexnet有6000万个参数,有这么多参数如果不考虑过拟合是相当不明智的,alexnet主要有以下两种方式避免过拟合。
图像数据上最简单常用的用来减少过拟合的方法是使用标签保留变换来人工增大数据集,我们使用了两种在cpu上通过小型的计算完成的图像变换,当gpu在进行训练时cpu就可以进行这种变换,因此并不会对整体带来负担。
第一种是在256 256上随机取224 224的部分和他们的水平翻转,虽然这些增加的部分有比较高的相关性,但是没有这些的话alexnet就会有很高的过拟合,也会逼迫我们使用更小的网络,在测试的时候,我们在四角和中心取五个224*224的部分和他们的水平翻转也就是一共10个部分,然后计算他们的softmax平均值。
第二种方式是改变训练图集中的rgb通道的强度,我们在Imagenet的训练集上做pca,对每张图片我们加上主成分的倍数,即大小成正比的对应特征值乘以一个随机变量,随机变量通过均值为0,标准差为0.1的高斯分布得到。因此对于每幅RGB图像像素Ixy=
,我们加上
pi,λi分别是RGB像素值3 × 3协方差矩阵的第i个特征向量和特征值,αi是前面提到的随机变量。对于某个训练图像的所有像素,每个αi只获取一次,直到图像进行下一次训练时才重新获取。 这个方案近似抓住了自然图像的一个重要特性,即降低了光照和颜色和灯光对结果的影响 。这个方案减少了top 1错误率1%以上。
结合多个不同的训练模型是降低错误率的很好的办法,但是这对于一个需要训练很久的大型网络例如alexnet来说成本太大了 ,dropout就是一种非常巧妙的办法。它会以0.5的概率对每个隐层神经元的输出设为0。 那些“失活的”的神经元不再进行前向传播并且不参与反向传播。因此每次输入时,神经网络会采样一个不同的架构 ,但所有架构共享权重。这个技术减少了复杂的神经元互适应,因为一个神经元不能依赖特定的其它神经元的存在。因此,神经元被强迫学习更鲁棒的特征,它在与许多不同的其它神经元的随机子集结合时是有用的。在测试时,我们使用所有的神经元但它们的输出乘以0.5。 dropout在前两个全连接层中使用 ,非常有效避免了过拟合
使用随机梯度下降,batch大小128,momentum0.9 权重衰减0.0005 少量的权重衰减对于模型的学习是重要的。换句话说,权重衰减不仅仅是一个正则项:它减少了模型的训练误差。权重w的更新规则是
我们使用均值为0,标准差为0.01的高斯分布对每一层的权重进行初始化。我们在第2,4,5卷积层和全连接隐层将神经元偏置初始化为常量1。这个初始化通过为ReLU提供正输入加速了学习的早期阶段。我们在剩下的层将神经元偏置初始化为0。
我们对所有的层使用相等的学习率,这个是在整个训练过程中我们手动调整得到的。当验证误差在当前的学习率下停止提供时,我们遵循启发式的方法将学习率除以10。学习率初始化为0.01,在训练停止之前降低三次。我们在120万图像的训练数据集上训练神经网络大约90个循环,在两个NVIDIA GTX 580 3GB GPU上花费了五到六天。
结果,反正强无敌
我们发现,如果移除任何一个隐藏层的卷积层的话,最终大概会有2%的损失,所以对于alexnet来说深度还是很有必要的,
上一篇:商机识别论文格式
下一篇:网站运营毕业论文