精华内容
参与话题
问答
  • DenseNet算法详解

    万次阅读 多人点赞 2017-07-15 08:24:15
    论文:Densely Connected Convolutional Networks ...代码的github链接:https://github.com/liuzhuang13/DenseNet文章详解: 这篇文章是CVPR2017的oral,非常厉害。文章提出的DenseNet(Dense Convolution

    论文:Densely Connected Convolutional Networks
    论文链接:https://arxiv.org/pdf/1608.06993.pdf
    代码的github链接:https://github.com/liuzhuang13/DenseNet
    MXNet版本代码(有ImageNet预训练模型): https://github.com/miraclewkf/DenseNet

    文章详解:
    这篇文章是CVPR2017的oral,非常厉害。文章提出的DenseNet(Dense Convolutional Network)主要还是和ResNet及Inception网络做对比,思想上有借鉴,但却是全新的结构,网络结构并不复杂,却非常有效!众所周知,最近一两年卷积神经网络提高效果的方向,要么深(比如ResNet,解决了网络深时候的梯度消失问题)要么宽(比如GoogleNet的Inception),而作者则是从feature入手,通过对feature的极致利用达到更好的效果和更少的参数。博主虽然看过的文章不算很多,但是看完这篇感觉心潮澎湃,就像当年看完ResNet那篇文章一样!

    先列下DenseNet的几个优点,感受下它的强大:
    1、减轻了vanishing-gradient(梯度消失)
    2、加强了feature的传递
    3、更有效地利用了feature
    4、一定程度上较少了参数数量

    在深度学习网络中,随着网络深度的加深,梯度消失问题会愈加明显,目前很多论文都针对这个问题提出了解决方案,比如ResNet,Highway Networks,Stochastic depth,FractalNets等,尽管这些算法的网络结构有差别,但是核心都在于:create short paths from early layers to later layers。那么作者是怎么做呢?延续这个思路,那就是在保证网络中层与层之间最大程度的信息传输的前提下,直接将所有层连接起来!

    先放一个dense block的结构图。在传统的卷积神经网络中,如果你有L层,那么就会有L个连接,但是在DenseNet中,会有L(L+1)/2个连接。简单讲,就是每一层的输入来自前面所有层的输出。如下图:x0是input,H1的输入是x0(input),H2的输入是x0和x1(x1是H1的输出)……

    这里写图片描述

    DenseNet的一个优点是网络更窄,参数更少,很大一部分原因得益于这种dense block的设计,后面有提到在dense block中每个卷积层的输出feature map的数量都很小(小于100),而不是像其他网络一样动不动就几百上千的宽度。同时这种连接方式使得特征和梯度的传递更加有效,网络也就更加容易训练。原文的一句话非常喜欢:Each layer has direct access to the gradients from the loss function and the original input signal, leading to an implicit deep supervision.直接解释了为什么这个网络的效果会很好。前面提到过梯度消失问题在网络深度越深的时候越容易出现,原因就是输入信息和梯度信息在很多层之间传递导致的,而现在这种dense connection相当于每一层都直接连接input和loss,因此就可以减轻梯度消失现象,这样更深网络不是问题。另外作者还观察到这种dense connection有正则化的效果,因此对于过拟合有一定的抑制作用,博主认为是因为参数减少了(后面会介绍为什么参数会减少),所以过拟合现象减轻。

    这篇文章的一个优点就是基本上没有公式,不像灌水文章一样堆复杂公式把人看得一愣一愣的。文章中只有两个公式,是用来阐述DenseNet和ResNet的关系,对于从原理上理解这两个网络还是非常重要的。

    第一个公式是ResNet的。这里的l表示层,xl表示l层的输出,Hl表示一个非线性变换。所以对于ResNet而言,l层的输出是l-1层的输出加上对l-1层输出的非线性变换。

    这里写图片描述

    第二个公式是DenseNet的。[x0,x1,…,xl-1]表示将0到l-1层的输出feature map做concatenation。concatenation是做通道的合并,就像Inception那样。而前面resnet是做值的相加,通道数是不变的。Hl包括BN,ReLU和3*3的卷积。

    这里写图片描述

    所以从这两个公式就能看出DenseNet和ResNet在本质上的区别,太精辟。

    前面的Figure 1表示的是dense block,而下面的Figure 2表示的则是一个DenseNet的结构图,在这个结构图中包含了3个dense block。作者将DenseNet分成多个dense block,原因是希望各个dense block内的feature map的size统一,这样在做concatenation就不会有size的问题。

    这里写图片描述

    这个Table1就是整个网络的结构图。这个表中的k=32,k=48中的k是growth rate,表示每个dense block中每层输出的feature map个数。为了避免网络变得很宽,作者都是采用较小的k,比如32这样,作者的实验也表明小的k可以有更好的效果。根据dense block的设计,后面几层可以得到前面所有层的输入,因此concat后的输入channel还是比较大的。另外这里每个dense block的3*3卷积前面都包含了一个1*1的卷积操作,就是所谓的bottleneck layer,目的是减少输入的feature map数量,既能降维减少计算量,又能融合各个通道的特征,何乐而不为。另外作者为了进一步压缩参数,在每两个dense block之间又增加了1*1的卷积操作。因此在后面的实验对比中,如果你看到DenseNet-C这个网络,表示增加了这个Translation layer,该层的1*1卷积的输出channel默认是输入channel到一半。如果你看到DenseNet-BC这个网络,表示既有bottleneck layer,又有Translation layer。

    这里写图片描述

    再详细说下bottleneck和transition layer操作。在每个Dense Block中都包含很多个子结构,以DenseNet-169的Dense Block(3)为例,包含32个1*1和3*3的卷积操作,也就是第32个子结构的输入是前面31层的输出结果,每层输出的channel是32(growth rate),那么如果不做bottleneck操作,第32层的3*3卷积操作的输入就是31*32+(上一个Dense Block的输出channel),近1000了。而加上1*1的卷积,代码中的1*1卷积的channel是growth rate*4,也就是128,然后再作为3*3卷积的输入。这就大大减少了计算量,这就是bottleneck。至于transition layer,放在两个Dense Block中间,是因为每个Dense Block结束后的输出channel个数很多,需要用1*1的卷积核来降维。还是以DenseNet-169的Dense Block(3)为例,虽然第32层的3*3卷积输出channel只有32个(growth rate),但是紧接着还会像前面几层一样有通道的concat操作,即将第32层的输出和第32层的输入做concat,前面说过第32层的输入是1000左右的channel,所以最后每个Dense Block的输出也是1000多的channel。因此这个transition layer有个参数reduction(范围是0到1),表示将这些输出缩小到原来的多少倍,默认是0.5,这样传给下一个Dense Block的时候channel数量就会减少一半,这就是transition layer的作用。文中还用到dropout操作来随机减少分支,避免过拟合,毕竟这篇文章的连接确实多。

    实验结果:
    作者在不同数据集上采用的DenseNet网络会有一点不一样,比如在Imagenet数据集上,DenseNet-BC有4个dense block,但是在别的数据集上只用3个dense block。其他更多细节可以看论文3部分的Implementation Details。训练的细节和超参数的设置可以看论文4.2部分,在ImageNet数据集上测试的时候有做224*224的center crop。

    Table2是在三个数据集(C10,C100,SVHN)上和其他算法的对比结果。ResNet[11]就是kaiming He的论文,对比结果一目了然。DenseNet-BC的网络参数和相同深度的DenseNet相比确实减少了很多!参数减少除了可以节省内存,还能减少过拟合。这里对于SVHN数据集,DenseNet-BC的结果并没有DenseNet(k=24)的效果好,作者认为原因主要是SVHN这个数据集相对简单,更深的模型容易过拟合。在表格的倒数第二个区域的三个不同深度L和k的DenseNet的对比可以看出随着L和k的增加,模型的效果是更好的。

    这里写图片描述

    Figure3是DenseNet-BC和ResNet在Imagenet数据集上的对比,左边那个图是参数复杂度和错误率的对比,你可以在相同错误率下看参数复杂度,也可以在相同参数复杂度下看错误率,提升还是很明显的!右边是flops(可以理解为计算复杂度)和错误率的对比,同样有效果。

    这里写图片描述

    Figure4也很重要。左边的图表示不同类型DenseNet的参数和error对比。中间的图表示DenseNet-BC和ResNet在参数和error的对比,相同error下,DenseNet-BC的参数复杂度要小很多。右边的图也是表达DenseNet-BC-100只需要很少的参数就能达到和ResNet-1001相同的结果。

    这里写图片描述

    另外提一下DenseNet和stochastic depth的关系,在stochastic depth中,residual中的layers在训练过程中会被随机drop掉,其实这就会使得相邻层之间直接连接,这和DenseNet是很像的。

    总结:
    博主读完这篇文章真的有点相见恨晚的感觉,半年前就在arxiv上挂出来了,听说当时就引起了轰动,后来又被选为CVPR2017的oral,感觉要撼动ResNet的地位了,再加上现在很多分类检测的网络都是在ResNet上做的,这岂不是大地震了。惊讶之余来总结下这篇文章,该文章提出的DenseNet核心思想在于建立了不同层之间的连接关系,充分利用了feature,进一步减轻了梯度消失问题,加深网络不是问题,而且训练效果非常好。另外,利用bottleneck layer,Translation layer以及较小的growth rate使得网络变窄,参数减少,有效抑制了过拟合,同时计算量也减少了。DenseNet优点很多,而且在和ResNet的对比中优势还是非常明显的。

    展开全文
  • DenseNet 简介

    万次阅读 多人点赞 2017-08-17 19:00:11
    2.介绍DenseNet 1.1 DNN回顾 如下图所示是一个基本DNN结构,通过forward传播和backword传播来训练一个模型 包含input层,L个隐藏层和一个output 隐层使用的sigmoid激活函数 一般的优化方法有如下几种 GD:对所有...

    1.首先对深度学习做一个简单的回顾

    2.介绍DenseNet

    3.参考文献


    1.1 DNN回顾

    如下图所示是一个基本DNN结构,通过forward传播和backword传播来训练一个模型。包含input层,L个隐藏层和一个output,隐层使用的sigmoid激活函数,一般的优化方法有如下几种:

    GD:对所有样本计算完一次梯度然后更新权重

    SGD:每个样本计算一次梯度就更新权重

    mini-batch-GD:对小部分样本计算梯度,然后更新权重

    Momentum:加速度和速度在相同方向的时候,参数的更新得到加速,可以加快收敛速度


    1.2 发展

    在2012年AlexNet的出现让深度学习重新成为研究热点,在AlexNet中,使用了一些新的优化方法:dropout,relu,gpu+bigdata。之后的发展主要有增加网络深度,增强卷积模块功能,检测任务,新的功能单元等

    在ImageNet上,随着误差的降低,网络的深度呈现加深的趋势,在ResNet之前,很少超过20层的网络




    1.3 卷积层 convolution

    通过使用卷积核对图片提取特征,操作非常简单,对应位置相乘然后求和,然后卷积核根据步长滑动提取整个图片特征。不同的卷积核能提取不同的特征。




    1.4 ReLU激活函数

    sigmoid有一个非常致命的缺点,当输入非常大或者非常小的时候,这些神经元的梯度是接近于0的.

    如果你的初始值很大的话,大部分神经元可能都会处在饱和的状态而把gradientkill掉,这会导致网络变的很难学习。

    Sigmoid的output不是0均值. 这是不可取的,因为这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入。产生的一个结果就是:如果数据进入神经元的时候是正的,那么w计算出的梯度也会始终都是正的。

    使用 ReLU得到的SGD的收敛速度会比sigmoid/tanh快很多,相比于sigmoid/tanhReLU只需要一个阈值就可以得到激活值,而不用去算一大堆复杂的运算。Relu能加速训练,导数好求,在反向传播时速度快,激活部分梯度是1,梯度不容易消失,而Sigmoidtanh在两端梯度消失严重。




    1.5 pooling





    1.6 dropout

    具体过程是,在某个mini-batch的训练中,随机隐藏部分神经元,这样就只能更新其他节点的参数,隐藏的这些没有更新,在下次迭代的时候再随机隐藏部分神经元,只更新剩下的节点参数。训练完成之后,在预测的时候还是使用所有节点来预测。

    ensemble的作用: 先回到正常的模型(没有dropout),我们用相同的训练数据去训练5个不同的神经网络,一般会得到5个不同的结果,此时我们可以采用 “5个结果取均值”或者“多数取胜的投票策略”去决定最终结果。(例如 3个网络判断结果为数字9,那么很有可能真正的结果就是数字9,其它两个网络给出了错误结果)。这种“综合起来取平均”的策略通常可以有效防止过拟合问题。因为不同的网络可能产生不同的过拟合,取平均则有可能让一些“相反的”拟合互相抵消。dropout掉不同的隐藏神经元就类似在训练不同的网络(随机删掉一半隐藏神经元导致网络结构已经不同),整个dropout过程就相当于 对很多个不同的神经网络取平均。而不同的网络产生不同的过拟合,一些互为“反向”的拟合相互抵消就可以达到整体上减少过拟合。
    因为dropout程序导致两个神经元不一定每次都在一个dropout网络中出现。(这样权值的更新不再依赖于有固定关系的隐含节点的共同作用,阻止了某些特征仅仅在其它特定特征下才有效果的情况)。 迫使网络去学习更加鲁棒的特征 (这些特征在其它的神经元的随机子集中也存在)。换句话说假如我们的神经网络是在做出某种预测,它不应该对一些特定的线索片段太过敏感,即使丢失特定的线索,它也应该可以从众多其它线索中学习一些共同的模式(鲁棒性)。这个角度看 dropout就有点像L1,L2正则,减少权重使得网络对丢失特定神经元连接的鲁棒性提高,隐藏部分节点之后,强迫剩下的节点学习更重要的特征。




    1.7 Batch Normalization

    大家都知道在统计机器学习中的一个经典假设是“源空间(source domain)和目标空间(target domain)的数据分布(distribution)是一致的”。如果不一致,那么就出现了新的机器学习问题,如,transfer learning/domain adaptation(迁移学习,领域适应)等。

    如果分布改变,网络越深,分布变化越明显,不能学习到很好的参数。在其他资料上有指出Batch Normalization的本质是防止梯度弥散。





    1.8 Gradient Vanish

    我们知道在反向传播的时候,根据链式求导来计算梯度,并更新参数。反向传播时经过该层的梯度是要乘以该层的参数的,从l层传到k层的连乘就是问题所在,同样BN也是为了解决这个问题。



    2.1 ResNet

    ResNet的出现很好的解决了梯度弥散的问题,使得更深的网络得以更好的训练。第L层的网络是由L-1层的网络经过H(包括conv,BN,ReLU,Pooling)变换得到,在此基础上直接连接到上一层的网络。使得梯度能够得到更好的传播。



    举个例子,后面的网络需要排队来领取梯度信息,但是排到越后面的网络领到的梯度很少甚至没有,这个时候直接开辟一条新的道路(skip connection),将梯度信息传递到后面的网络。

    其实最先超过100层的网络是Highway Networks,非常形象的把这种结构比喻成高速公路。后来通过随机删掉一些层可以训练到1202层的ResNet。



    2.2 DenseNet

    DenseNet和ResNet的一个明显区别是,ResNet是求和,而DenseNet是做一个拼接,每一层网络的输入包括前面所有层网络的输出。第L层的输入等于K x (L-1) + k0,其中k是生长率,表示每一层的通道数,比如下图网络的通道数为4。

    DenseNet提升了信息和梯度在网络中的传输效率,每层都能直接从损失函数拿到梯度,并且直接得到输入信号,这样就能训练更深的网络,这种网络结构还有正则化的效果。其他网络致力于从深度和宽度来提升网络性能,
    DenseNet致力于从特征重用的角度来提升网络性能



    上面图中的结构是一个dense block,下图的结构是一个完整的dense net,包括3个dense block。可以发现在block之间没有dense连接,因为在pooling操作之后,改变了feature maps的大小,这时候就没法做dense 连接了。在两个block之间的是transition layer ,包括了conv ,pool,在实验中使用的是BN,(1x1 conv),(2x2 avg pool)。

    这种结构的好处是可以缓解梯度消失,省参数省计算,特征重用可以起到抗过拟合的作用。达到相同的精度,dense net只需要res net一半的参数和一半的计算量。




    2.3 冗余

    在使用密集连接时候的网络显得比较冗余,这样会不会增大参数量呢,DenseNet很好的处理了这个问题。它将每一层都设计的特别窄,在Dense Block中的每一个单元实际上都是一个 bottleneck layer,其中包括一个 1x1 conv和一个3x3 conv。在block之间还有个transition layer,包括一个BN,一个1x1的conv和一个pooling,同样起到了降低冗余的作用,一个block中有m个feature maps,通过一个0-1之间的参数来限制输出的feature maps数量。




    这种设计可以很好的降低参数量,GoogleNet也是用这种方式来降低参数的,下图是GoogleNet的一个功能模块,由1x1 64通道(通道可以理解为就是卷积核的数量),3x3 128通道,5x5 32通道的convolution和一个3x3 max pooling构成,输入的是28x28的图片192通道。那么可以分别计算出这3个卷积层的参数数量,为上一个通道数乘上当前卷积核的大小和通道数。可以算出来一个功能模块有38w个参数。




    功能模块使用1x1的卷积核来实现降低参数量,方式为在3x3,5x5的卷积核之前分别添加1x1x96,1x1x16的卷积核,在pooling之后添加1x1x32的卷积核。用同样的方式来计算参数量,上一个通道数乘上当前卷积核的大小和通道数。得到当前功能模块的参数量为16w,所以可以使用1x1的卷积核,通过改变通道大小来进行参数降低。




    下面的图表示3个block中特征的热力图,颜色越深表示特征越重要,可以看到浅层特征同样会被利用到



    下面是DenseNet的主要代码,就不作过多介绍了



    2.4内存优化

    DenseNet的内存主要耗费在拼接过程,每次拼接都会开辟新的内存空间。那么可以使用共享内存来解决这个问题,另一个是forward和backward的内存依赖,粉红色是forward,深红色是backward。Forward的时候内存不能释放,backward的时候可以,计算完一块红色的就能直接释放,深红依赖粉红,粉红的也可以释放,在计算深红的时候重新计算粉红,这样会多耗费15%的时间,但是能节省70%的空间。


    2.5 DPN

     DPN获得了最后一届ImageNet的冠军,主要思想是融合了ResNet和DenseNet,这里就不作过多介绍了。


    3 参考文献

    DPN

    展开全文
  • SEIR传染病模型Netlogo仿真程序

    千次阅读 多人点赞 2020-02-19 18:27:53
    2019年年底,一场突如其来的传染病席卷中国湖北武汉,新型冠状病毒感染的肺炎疫情悄然蔓延,从武汉波及全国,牵动人心。受到B站某UP主仿真程序的启发, 想通过计算机仿真实现一个更加真实的病毒传播仿真模型,下面是...

    在这里插入图片描述
    2019年年底,一场突如其来的传染病席卷中国湖北武汉,新型冠状病毒感染的肺炎疫情悄然蔓延,从武汉波及全国,牵动人心。受到B站某UP主仿真程序的启发,想通过计算机仿真实现一个更加真实的病毒传播仿真模型,下面是我的仿真模型的基本介绍和模型演示。

    1、SEIR模型

    在这里插入图片描述
    图片来源:知乎-信号处理工程师的日常

    SEIR模型在SIR模型的基础之上新增加了一个潜伏者(Exposed),这和新冠病毒实际情况更加符合,易感染人群在一开始会经历潜伏期,一段时间之后才出现症状,李兰娟院士认为:潜伏期患者也有可能具有传染性。潜伏者按照一定概率转化为感染者,因此,SEIR微分方程为:

    在这里插入图片描述
    SEIR微分方程

    上式中α对应的感染概率,β对应的是潜伏者转换为感染者的概率,γ对应的治愈概率,r是接触的人数。该方程实质上反映的是易感染者S(t)、潜伏者E(t)、感染者I(t)、康复者R(t)单位时间变化数量的随时间t的变化情况,它们之间会相互影响,下面为迭代形式:

    在这里插入图片描述
    SEIR迭代方程

    2、模型假设

    • 新型冠状病毒主要的传播途径还是呼吸道飞沫传播和接触传播,气溶胶和粪—口等传播途径尚待进一步明确。通过流行病学调查显示,病例多可以追踪到与确诊的病例有过近距离密切接触的情况,因此,模型假设只有接触传播一种传播途径。
    • 为了简化模型,模型假设感染者不会死亡,只会传染其他易感染者或者被隔离并治愈。
    • 模型假设康复者体内含有抗体,不会再感染病毒。
    • 模型假设潜伏者没有被收治,感染者会被收治,被收治的感染者会一直占用医院隔离区域
    • 模型假设被隔离的感染者无法再感染其他人
    • 模型假设患者只能通过医院收治再被治愈

    3、模型参数

    参数 说明 类型
    population 总人数 整数
    hospital-patient-segregation-area 医院隔离区域 整数
    human-flow-range 人们的活动最大范围 整数
    infection-rate 感染概率 浮点数
    transform-rate 潜伏者转换为感染者的概率 浮点数
    recovery-rate 康复概率 浮点数
    initial-infectious-num 初始感染人数 整数
    latent-time 潜伏期 整数
    receive-cure-response-time 开始收治病人的延迟时间 整数
    receive-rate 收治效率 浮点数

    4、模型运行

    我以“为什么要进行自我隔离”问题为例来演示模型的运行,也可以通过web版模型在浏览器中自行尝试其他实验。
    假设有以下三种情形:a、人们都满世界乱跑、b、人们每天只见街坊邻居、c、人们宅在家只和家人呆在一起

    这三种情形通过human-flow-range参数来模拟,human-flow-range是相对每个人家庭位置的活动范围,abc分别对应human-flow-range的值为50、10、2。下面为各主体人数变化情况

    在这里插入图片描述
    a:human-flow-range = 50

    在这里插入图片描述
    b:human-flow-range = 10

    在这里插入图片描述
    c:human-flow-range = 2

    通过对比仿真绘图发现,人们如果不进行隔离而去接触许多人的话,被感染的人数峰值会大很多而且会提前,如果大家都减少活动范围,自己宅在家中,潜伏者和感染者那两条线就几乎消失了,这就是为什么说,在病毒蔓延之际,采用自我隔离的方法是控制疫情最有效的措施之一。

    5、模型优化

    该仿真模型基本符合SEIR模型的运行结果,并且设置一些基本参数,实际上还可以对模型进行优化,实现一些更加复杂的仿真,比如:

    • 已经发现,各个年龄段的人都可能被感染新冠病毒,被感染的主要是成年人,其中老年人和体弱多病的人似乎更容易被感染。儿童和孕产妇是新型冠状病毒感染的肺炎的易感人群。模型需要提现出不同的人群之间的差异,比如这里所说的“年龄”
    • 本模型人口分布采用的是随机分布,还可以构建更加复杂的人口分布,比如不同密集程度的人口分布,人口越密集的地方,像城市,病毒蔓延的速度会比人烟稀少的地方更快一些

    6、参考链接

    计算机仿真程序告诉你为什么现在还没到出门的时候!!!
    简单算算,你宅在家里究竟能为抗击肺炎疫情做出多大贡献?
    在家宅着也能抵抗肺炎!玩一玩SEIR传染病模型


    源代码(提供nlogo版和web版):https://github.com/dpoqb/netlogo_SEIR_2019

    展开全文
  • net.sf.json jar包 最全版

    万次下载 热门讨论 2013-11-27 18:04:43
    JAVA中使用JSON进行数据传递,用于java生成json字符串,和java解析json字符串(如果要使程序可以运行的话必须引入JSON-lib包,而JSON-lib包是一个beans,collections,maps,java arrays和XML和JSON互相转换的包)
  • 出现net::ERR_CONNECTION_REFUSED问题,前端优化

    万次阅读 热门讨论 2018-05-08 13:15:36
    在一次测试中,请求后台数据报net::ERR_CONNECTION_REFUSED的错误。我的这次具体失败的原因是因为请求地址错误的原因。能导致这个问题的原因有很多种,也有可能是网络原因等等….产生这个错误最归根揭底的原因就是...

    在一次测试中,请求后台数据报net::ERR_CONNECTION_REFUSED的错误。我的这次具体失败的原因是因为请求地址错误的原因。能导致这个问题的原因有很多种,也有可能是网络原因等等…产生这个错误最归根揭底的原因就是ajax请求失败;

    当时做的登陆功能的测试,在页面上反应是点击登陆后,没有任何反应,用户体验非常的不好

    面对这种情况,如果在ajax请求时再做出一层的判断,在ajax请求不成功的情况下,给出失败提示,体验会更好一些

    具体优化代码如下:

    第一种:在全局去监听失败的ajax请求,缺点是并无事件的针对性,可能会带来不好的效果

    $(document).ajaxError(function(){
            alert("请求出错!");
        });
    

    第二种:对单个的ajax请求做出对应的成功或失败的判断

    $.ajax({
                	url:"system/login/login.action",
                	timeout:6000,
    	            success:function(data){}
             }).done().fail(function(){
                    alert('网络不行,请求错误')
                })
    
    展开全文
  • log4net使用详解

    万次阅读 多人点赞 2008-03-26 16:13:00
    说明:本程序演示如何利用log4net记录程序日志信息。log4net是一个功能著名的开源日志记录组件。利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库(包括MS SQL Server, Access, Oracle...
  • 全卷积神经网络图像分割(U-net)-keras实现

    万次阅读 多人点赞 2017-04-17 20:36:34
    最近在研究全卷积神经网络在图像分割方面的应用,因为自己是做医学图像处理方面的工作,所以就把一个基于FCN(全卷积神经网络)的神经网络用 keras 实现了,并且用了一个医学图像的数据集进行了图像分割。...
  • 论文阅读: RetinaNet

    万次阅读 多人点赞 2018-04-22 14:59:05
    Introduction 此篇论文获得了ICCV最佳学生论文奖,指导人是FBAI的He Kainming大神: 众所周知,detector主要分为以下两大门派: - one stage系 two stage系 代表性算法 YOLOv1、SSD、YOLOv2、... ...
  • U-Net是一种基于深度学习的图像语义分割方法,尤其在医学图像分割中表现优异。 本课程将手把手地教大家使用labelme图像标注工具制作自己的数据集,生成Mask图像,并使用U-Net训练自己的数据集,从而能开展自己的...
  • GoogLeNet系列解读

    万次阅读 多人点赞 2016-02-25 15:56:29
    本文介绍的是著名的网络结构GoogLeNet及其延伸版本,目的是试图领会其中的思想而不是单纯关注结构。GoogLeNet Incepetion V1 Motivation Architectural Details GoogLeNet Conclusion GoogLeNet Inception V2 ...
  • DenseNet详解

    万次阅读 多人点赞 2018-08-27 16:47:24
    其它机器学习、深度学习算法的全面系统讲解可以...作为CVPR2017年的Best Paper, DenseNet脱离了加深网络层数(ResNet)和加宽网络结构(Inception)来提升网络性能的定式思维,从特征的角度考虑,通过特征重用和旁路(Byp...
  • 论文精读——CenterNet :Objects as Points

    万次阅读 多人点赞 2019-04-18 13:09:34
    论文题目:Objects as Points ... 发布时间:2019.4.16 机构:UT Austin,UC Berkeley ...代码:https://github.com/xingyizhou/CenterNet Abstract 目标检测识别往往在图像上将目标以轴对称的框形式框出。大...
  • net start mysql 启动MySQL服务报错 发生系统错误 5 解决方法
  • DenseNet

    千次阅读 2017-09-22 19:44:22
    2017CVPR Best Paper: 《Densely Connected Convolutional Networks》Github项目主页: https://github.com/liuzhuang13/DenseNet知乎上的一些讨论: 如何评价Densely Connected Convolutional Networks?DenseNet...
  • 在DOS窗口、gitbush以及一些可以使用的命令行工具的界面上,输入:net stop mysql、net start mysql时,总是提示:服务名无效。 出现提示如下: 原因是:因为net start +服务名,启动的是win下注册的服务。...
  • 我在尝试实现Github上开源的代码[Relation-Shape-CNN](https://github.com/Yochengliu/Relation-Shape-CNN ""),运行报错ModuleNotFoundError: No module named '_ext.pointnet2._pointnet2'。 Traceback (most ...
  • U-net:运行你的第一个U-net进行图像分割

    万次阅读 多人点赞 2018-02-08 16:00:01
    Unet进行图像分割 注意:本文运行环境为:python3.5、tensorflow 1.4.0 Unet进行图像分割 数据准备 程序准备 运行网络 测试结果如下 ...原始数据:首先准备数据,参考数据来自于 ISBI 挑战的数据集。...
  • CornerNet 算法笔记

    万次阅读 多人点赞 2018-10-12 20:22:08
    论文:CornerNet: Detecting Objects as Paired Keypoints 论文链接:https://arxiv.org/abs/1808.01244 代码链接:https://github.com/umich-vl/CornerNet 这篇发表在ECCV2018上的目标检测文章给人一种眼前一亮...
  • 如何彻底卸载 MySQL Connector Net

    千次阅读 2019-04-30 18:55:18
    关于MySQL Connector Net 的卸载问题 前几天专业课做实验需要用到MySQL Connector,没有注意到给的实验文件夹里的安装包,于是跑去官网下载了一个最新的版本,在做实验过程中就出现了版本不一致的问题,这时候需要...
  • PointNet网络结构详细解析

    千次阅读 2019-04-02 12:58:00
    PointNet网络结构详细解析 一、重要知识点 Transforming point clouds data to regular 3D voxel grids or collections of images, however, renders(cause to be) data unnecessarily voluminous(length, vast)...
  • 安装webmin时提示需要安装Net_ssleay。 安装时报错 ``` [root@localhost Net-SSLeay-1.49]# make install Skip blib/lib/Net/SSLeay.pm (unchanged) Skip blib/lib/Net/SSLeay.pod (unchanged) Skip blib/lib/...
  • 当在Oracle安装过程中Oracle Net Configuration Assistant 失败问题时候,可以手动重新配置 1.打开Net Configuration Assistant  2.打开之后如下图所示,选择监听程序配置,下一步: 3.重新配置,下...
  • ERROR from evaluation of /media/disk2/loongson/netsnmp/net-snmpsrc/net-snmp-5.7.3/perl/default_store/Makefile.PL: You need to install net-snmp first (I can't find net-snmp-config) at ./Makefile.PL ...
  • ERROR from evaluation of /media/disk2/loongson/netsnmp/net-snmpsrc/net-snmp-5.7.3/perl/default_store/Makefile.PL: You need to install net-snmp first (I can't find net-snmp-config) at ./Makefile.PL ...
  • 使用 net start mysql 命令时报错, mysql 服务正在启动 .. mysql 服务无法启动。 服务没有报告任何错误。 请键入 NET HELPMSG 3534 以获得更多的帮助。 说明:这是我在重新安装mysql5.7.28时出现的问题,(题外...
  • O2S.Components.PDFRender4NET.zip

    千次下载 热门讨论 2012-02-15 19:54:30
    pdf转图片O2S.Components.PDFRender4NET v 2.0.1.0组件最新破解版,去除水印!(.net组件) 已测试.如需了解更多PDF转成图片的信息,请参考:http://blog.csdn.net/shi0090/article/details/7262199
  • !...操作系统win10 附相关log 信息: Configuration log directory - d:\app\Administrator\product\11.2.0\dbhome_1\cfgtoollogs ...信息: Completed Plugin named: Oracle Net Configuration Assistant
  • EfficientNet算法笔记

    万次阅读 2019-06-04 19:57:19
    论文:EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks 论文链接:https://arxiv.org/abs/1905.11946 代码链接:...
  • 我在用四个海康摄像机,要求每秒抓图两次,根据用户手册用了NET_DVR_CaptureJPEGPicture函数,可是我发现没抓一次图大约用240毫秒,如果这样的话那我就没办法在一秒里每个摄像机抓两次图了。我想问问已经用过这个的...
  • RFB Net算法笔记

    万次阅读 热门讨论 2018-08-10 08:33:35
    论文:Receptive Field Block Net for Accurate and Fast Object Detection 论文链接:https://arxiv.org/abs/1711.07767 代码链接:https://github.com/ruinmessi/RFBNet 这篇是ECCV2018关于目标检测的文章,...

空空如也

1 2 3 4 5 ... 20
收藏数 188,867
精华内容 75,546
关键字:

net