热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AdaptiveContextNetworkforSceneParsing

AdaptiveContextNetworkforSceneParsingAbstract​最近的研究试图通过探索不同层次的上下文来提高场景解析性能,通常训练一个

Adaptive Context Network for Scene Parsing


Abstract

​ 最近的研究试图通过探索不同层次的上下文来提高场景解析性能,通常训练一个设计良好的卷积网络来在所有像素上平等地挖掘有用的上下文。然而,在本文中,我们发现每幅图像中不同像素或区域的上下文需求是不同的。在此基础上,我们提出了一种自适应上下文网络(Adaptive Context Network, ACNet),通过对全局上下文和局部上下文的竞争性融合,根据不同的逐像素需求捕获像素感知上下文。具体来说,当给定一个像素时,全局上下文需求是通过全局特征与其局部特征之间的相似度来衡量的,其逆值可以用来衡量局部上下文需求。我们分别用提出的全局上下文模块和局部上下文模块对两种需求度量进行建模,以生成自适应上下文特征。此外,我们导入多个这样的模块,在网络的不同层次上构建多个自适应上下文块,以获得从粗到细的结果。最后,综合实验评估验证了所提出的ACNet的有效性,并在所有四个公共数据集(即城市景观、ADE20K、PASCAL上下文和COCO Stuff)上取得了新的艺术表现。


1. Introduction

​ 场景解析是一项基本的图像理解任务,其目标是对给定的场景图像进行逐像素分类。最新的场景解析方法都是基于完全卷积网络[24]的。然而,FCN框架有两个限制。首先,池化、卷积跨步等连续的子采样操作会导致初始图像分辨率显著降低,导致场景解析时空间细节的丢失。其次,由于接受域[23,25]或局部上下文特征的限制,逐像素密集分类往往是模糊的。最后,卷积神经网络会导致物体边界粗糙、对小物体的忽略、对大物体的错误分类等问题。

​ 在克服上述局限性的各种基于fcn的改进中,利用不同层次的上下文(即局部上下文和全局上下文)的有效策略是主要方向。具体来说,有些方法[22,39,34,9]采用“U-net”架构,从中间层利用多尺度的局部上下文,以补充更多的视觉细节。有些方法[2,35]采用扩张卷积层,在保持分辨率的同时,以更大的接受域捕捉更广阔的背景。此外,本文还提出了全球平均池化获得的图像级特征[23,40]作为全局上下文,以澄清局部混淆。然而,这些基于fcn的变体采用逐像素统一处理,忽略了不同层次上下文的逐像素需求。从中间层,当地的环境是至关重要的类的预测像素的边缘或小对象,在全球背景下探索映像级别表示好处大对象或内容区域分类,特别是当目标区域超过网络的接受域。我们还可以从图1所示的结果对比中看出像素敏感上下文建模的必要性,在图1中,局部上下文和全局上下文在不同的对象或事物上取得了不同的改进。因此,如何在端到端训练框架中有效地捕获这种像素或区域感知上下文,是一个开放但有价值的研究课题。

​ 在本文中,我们提出了一个自适应上下文网络(Adaptive Context Network, ACNet)来捕获像素感知上下文,用于图像场景解析。ACNet不同于以往对每个像素平均融合不同级别上下文的方法,ACNet生成了不同的逐像素上下文,即基于上下文的特征是输入数据的函数,并且在不同像素之间也存在差异。这种自适应上下文生成是通过图像级特征生成全局上下文和中间层特征生成局部上下文的竞争融合机制实现的。也就是说,对某个像素的全局语境关注越多,对局部语境的关注就越少,反之亦然。

​ 一般情况下,全局平均聚类特征对大型物体和物品有语义引导,但缺乏空间信息,这使其不同于细节特征。因此,我们可以将全局融合的特征与每个像素的特征进行匹配,获得该像素作为大对象元素或空间细节的可能性。它还可以作为像素感知的上下文引导,自适应融合全局特征(全局上下文)和低级特征(局部上下文)。基于这种直觉,我们提出了全局上下文模块来自适应地捕获全局上下文。通过度量全局特征和逐像素特征之间的相似性,得到像素感知需求程度,称为全局门控系数。门控系数越大,说明融合到像素上的全局上下文越多,局部上下文越少。然后将全局特征与像素感知的全局门控系数相乘,再将其添加到像素特征中,从而进一步纠正一些错误标记和不一致的结果。

​ 我们还提出了局部文脉模块,根据局部文脉需求来补偿空间细节。具体来说,我们发现具有与全局特征不同的特征的像素倾向于成为图像的细节部分,需要更多的局部上下文来获得精确的结果。因此,我们将全局门控系数的逆值视为局部门控系数,并将其与低阶特征相乘生成局部门控特征。它强调对空间细节的像素感知局部背景,避免了对大物体像素的一些噪声。此外,我们重用了多个局部门禁特征,这类似于一个循环学习过程,并补充了更详细的信息。

​ 我们联合使用全局上下文模块和局部上下文模块作为自适应上下文块,并将这些块导入到不同层次的网络中。我们所建议的ACNet的体系结构如图2所示。最后,通过对cityscapes[5]、ADE20k[42]、PASCAL Context[26]和COCO stuff[1]数据集的综合实验分析,验证了ACNet的有效性。

​ 本文的主要贡献如下:


  • 我们提出了一种自适应上下文网络(Adaptive Context Network, ACNet),根据不同像素的上下文需求来改进上下文信息融合。
  • 提出了一种衡量全球环境需求的新机制。全局聚类特征可以自适应融合到需要大背景的像素中,从而减少对大目标或物体的误分类。
  • 我们根据局部上下文需求改进局部上下文融合,并逐步重用局部特征,从而提高了小目标和边缘的分割效果。
  • ACNet在各种场景解析数据集上实现了最新的性能。特别是,在不使用粗数据的情况下,我们的ACNet在城市景观测试集上取得了82.3%的平均IoU得分,在ADE20K验证集上取得了45.90%的平均IoU得分。

2. Related Work

**全局上下文嵌入。**全局上下文嵌入已经被证明可以有效地改进一些大型语义区域的分类。ParseNet[23]使用全球平均汇集功能来增强每个位置的功能。PSPNet[40]在其Spatial Pyramid pooling模块中应用全局平均池来收集全局上下文。作品[15]通过基于场景相似性的全局背景网络来捕捉全局背景。BiSeNet[33]在编码器结构的顶部添加了全局池来捕获全局上下文。EncNet[37]使用了一个编码层来捕获全局上下文,并有选择地突出显示类依赖的特性映射。

**本地上下文嵌入。**基于U-net的方法通常采用来自中低层视觉特征的局部背景,生成清晰的边界或小细节,用于高分辨率预测。RefineNet[22]使用了一个解码器框架,利用精细获得的低层次特征来细化低分辨率分割。ExFuse[39]直接将辅助监督分配给编码器网络的早期阶段,以改进低级环境。Deeplabv3+[4]添加了一个简单的解码器模块来捕获本地上下文,精炼分割结果。

**注意力和控制机制。**注意机制被广泛应用于提高分割任务的性能。PAN[17]使用全局池来产生全局注意,可以有效地选择通道映射。LRR[10]生成一个倍增门控,以细化从低分辨率评分图重建的段边界。Dingetal。[7]提出了基于rnn的门控机制方案,选择性聚合多尺度分值图,实现最优多尺度聚合。文献[16,36,14]采用自我注意机制对特征关系进行建模。

​ 与这些工作不同的是,我们引入了数据驱动的门控机制,根据像素感知的上下文需求来捕获全局上下文和局部上下文。


3. Adaptive Context Network


3.1 Overview

​ 背景信息是场景解析任务的有效方法,目前的大多数方法都是将不同的背景平等地融合到每个像素上,忽略了像素感知上下文的不同需求。在这项工作中,我们提出了一种新的自适应上下文网络(ACNet)来权衡全局和局部上下文,通过竞争融合机制补充到每个像素。

​ 总体架构如图2所示,采用预训练的扩张型ResNet[13]作为骨干网络,采用多个自适应上下文块,逐步生成高分辨率的分割图。在骨干网中,我们去掉下行采样操作,在最后的ResNet块中采用扩张卷积,从而获得输出大小为输入图像1/16的稠密特征。它可以实现保留空间细节与计算成本[4]之间的平衡。在上采样过程中,采用了三种不同分辨率的自适应上下文块。每个自适应上下文块由全局上下文模块、上采样模块和局部上下文模块组成,其中全局上下文模块从高级特征中选择性地捕获全局上下文,局部上下文模块从低级特征中选择性地捕获局部上下文。

​ 在下面的小节中,我们将详细说明全局上下文模块、本地上下文模块以及它们在自适应上下文块中的聚合的设计细节。


3.2 Global Context Module

​ 全局上下文可以对整体场景图像提供全局语义指导,从而纠正误分类和解析结果不一致的问题。然而,对于大的物体和空间细节来说,全局环境的好处是不同的。在探索全局上下文时,有必要对每个像素进行不同的处理,也就是说,有些像素需要更多的全局上下文进行分类,而有些像素则不需要。基于全局融合特征更倾向于大物体和物体,缺乏空间信息的直觉,我们可以将全局特征与每个像素中的特征进行匹配,获得其作为大物体或空间细节元素的可能性。然后我们可以利用它来自适应地融合全球环境。为此,我们提出一个全球上下文模块(GCM)如下。给定一个输入特征mapA∈RC×H×W,我们使用一个跟随卷积层的全局平均池来生成一个全局特征∈RC×1×1。为了获得对全局上下文的像素感知需求(全局门控系数),我们首先通过计算每个像素点的欧几里德距离∈RH×Wbetween全局特征和特征ai∈a来度量特征的相似性,di∈D记为:

image-20211108132528561

在ai∈,i∈(1、2、……这是一个位置。注意,较小表示特征位置更接近全局特征。然后生成全局门控系数wg∈RH×W,用指数函数对其进行平滑,wg i∈Wgis记为:

image-20211108132537389

其中k设为minH×Wi=1(di),用于限制wg i∈(0,1)的范围。和δ是一个超参数,控制高响应和低响应差幅值。

​ 最后,我们将全局特征与尺度参数α相乘,然后对特征进行元素求和运算,得到最终输出tc∈RC×H×W,ci∈Cis,记为:

image-20211108132600466

​ 其中α为习得因子,初始化为1。这里,为了节省内存,我们采用求和运算代替连接运算。全局上下文模块的详细信息如图3(1)所示。

​ 由上述公式可以推断,不同位置的特征根据全局门控系数得到不同的全局上下文。通过这种设计,GCM可以有选择地增强语义一致性,减少对大型对象的错误分类和不一致的预测。


3.3 Local Context Moudle

​ 局部上下文有助于细化对象边界和细节。然而,许多方法都没有考虑对局部上下文的不同需求,而是将局部上下文融合到所有像素上。为了解决这一问题,我们提出了局部上下文模块(Local Context Module, LCM),有选择性地融合局部上下文,以更好地细化分割。

​ 如3.2节所述,响应高的全局门控系数表示像素属于大物体和东西,响应低的表示像素属于空间细节。基于这一观察,我们可以通过全局门控系数的反转值来获得局部门控系数,其中全局门控系数已上采样,公式为:

image-20211108132455371

​ 其中(·)为双线性插值运算。这样,局部门控系数表明像素越可能属于空间细节,就越需要局部上下文,反之亦然。然后将中间层特征的局部特征b∈RC×H×W与局部门控系数和尺度参数β乘起来,得到像素感知的局部上下文(门控局部特征)。最后,我们将该特征与上采样特征E∈RC×H×W连接,生成精炼特征F∈RC×H×W,fi∈Fis,记为:

image-20211108132705116

其中cat(·)为连接操作,β为习得因子,初始化为1。采用级联运算将门控局部特征和高级特征结合起来,并采用卷积层进行融合。本地上下文模块的详细信息如图3(2)所示。通过这种设计,我们可以根据每个像素的上下文需求有选择地聚合局部上下文。

​ 此外,我们发现直接多次引入封闭局部环境是很有用的。具体来说,我们通过连接操作和卷积层三次来重用门控局部特征。这种反复的学习过程为每个位置补充了更多的空间细节,并实现了从粗到细的性能改进。需要注意的是,在之前的研究中并没有对此进行讨论[22,39,35,4]。并通过实验验证了该方法的有效性。


3.4 Adaptive Context Block

​ 在GCM和LCM的基础上,我们进一步设计了一个自适应上下文块来同时选择性地捕获全局和局部上下文信息。

​ 自适应上下文块建立在级联结构上,首先将高层特征输入全局上下文模块,有选择地将全局上下文融合到每个像素上。然后依次通过双线性上采样层和局部上下文模块学习细化特征的恢复。为了获得与低阶特征相对应的分辨率,在输入局部上下文模块之前,我们还通过双线性上采样操作来扩大全局门控系数的空间分辨率。在[4]之后,我们在低阶特征上应用卷积层来减少信道数量,从而细化低阶特征。

​ 在自适应上下文块中,我们引入竞争融合机制,根据其门控系数的相关性来捕获全局和局部上下文,从而可以自适应地将合适的上下文融合到每个像素上,以更好地表示特征。


4.Experiments

​ 在Cityscapes [5], ADE20K [42], PASCAL Context [26], COCO Stuff[1]上进行了评价。实验结果表明,ACNet在这些数据集上取得了最新的性能。在下一小节中,我们首先介绍数据集和实现细节,然后我们对cityscape数据集进行详细比较,以评估我们的方法。最后,在ADE20K、PASCAL Context、COCO Stuff数据集上与目前最先进的方法进行了比较。


4.1 Datasets

**Cityscapes **该数据集是为场景解析收集的知名道路场景数据集,其中有2979张用于训练,500张用于验证,1525张用于测试。每个图像有一个高分辨率of2048×1024像素,有19个语义类。注意,在我们的实验中没有使用粗糙的数据。

ADE20K 数据集是一个多样化的挑战场景理解数据集,它包含150个类(35个stuff类和115个discrete object类)。数据集被划分为20,210 / 2,000 / 3,352张图像用于训练、验证和测试。

PASCAL Context该数据集广泛用于场景解析,其中包含4,998张用于训练的图像和5,105张用于测试的图像。继前人的工作[22,37]之后,我们对60个类别(59个类别和一个背景类别)进行了评价。

**COCO Stuff **数据集有171个类别,包括80个对象和91个注释到每个像素的内容。在前人的工作[7,27,22]之后,我们采用9000张图像进行训练,1000张图像进行测试。


4.2 Implementation Details

​ 我们采用扩张型预训练ResNet架构作为我们的骨干网络,其中最后一个ResNet块的扩张型速率被设置为(2,2,2)。接下来[37,40],我们在最后一个ResNet块的输出上应用a3×3convolution层和BN, ReLU,在输入到第一个自适应上下文块之前,将通道数量减少到512。另外,我们采用ResNet block-1和ResNet block-2的输出作为底层特征,为前两个自适应上下文块提供本地上下文。在最后一个自适应上下文块中,我们只采用了全局上下文模块。在前两个自适应上下文块中,我们在低级功能上使用a3×3convolution层,然后将其提供给本地上下文模块。前两个自适应上下文块中的其他卷积层分别由a3×3convolution运算和448 kernel和256 kernel组成,其次是BN和ReLU。使用Pytorch来实现我们的方法。

​ 在训练阶段,我们采用了一个多元学习率策略,初始学习率在每次迭代后乘以(1 - iter totaliter)0.9,并启用同步批处理归一化[37]。对于城市景观和ADE20K,基本学习率设置为0.005,对于PASCAL上下文和COCO内容,设置为0.001。动量衰减系数和重量衰减系数分别设为0.9和0.0001。在[40]之后,当我们采用bockbone ResNet101时,我们采用了辅助丢失。此外,我们在训练阶段采用随机裁剪和随机左右翻转,如果在cityscape数据集中没有提到,则不采用随机缩放的数据增强方法。


4.3 Results on Cityscape dataset

**全局上下文模块:**首先,我们设计了一个全局上下文模块,根据像素感知需求自适应聚合全局上下文。具体来说,我们遵循[2],构建两个扩展网络(ResNet-50),生成最终的feature map,大小分别为原始图像的1/8和1/16。然后,将全局上下文添加到两种不同设置的网络顶部,分别为GC和GCM (GC表示我们直接将全局特征相等地加到每个像素上,GCM表示全局上下文模块)。

​ 实验结果==如表1所示,我们可以看到GCM (global context module)在两种设置下的性能都优于GC,==特别是对于输出1/8大小的原始图像。结果表明,基于扩张型FCN的GCM具有较高的全局门控系数,改善效果更加明显。此外,我们还提供了关于δ的讨论,它控制全局门控系数的高响应和低响应之间的差幅(在章节3.1中提到)。当我们将δ设置为5时,全局上下文模块将产生最佳性能。在接下来的实验中,我们固定这个值,并采用最低分辨率输出原始图像的1/16大小。

**局部上下文模块:**我们还提出了一个局部上下文模块来细化空间细节。由于我们需要通过全局门控系数的反求来生成每个像素的局部门控系数,因此局部上下文模块建立在全局上下文模块的基础上。具体来说,我们在带有GCM的扩张型ResNet-50上进行实验,然后我们将ResNet block-2输出的局部特征级联到带有(LCM)和不带有(LC)局部门控系数的ResNet-50上。

结果如表2所示,我们可以看到,对每个像素进行一次局部上下文处理,性能进一步提高到74.03%。重用本地门控功能带来了性能的持续改进,从74.03%提高到74.67%。

**自适应上下文块:**我们进一步构建自适应上下文块,并将其级联三次,以获得高分辨率的预测。结果如表3所示。当我们使用三个自适应上下文块(acb# 3)时,性能提高到76.53%,验证了我们的方法的有效性。

​ 此外,我们将全局门控系数可视化为三个具有不同分辨率的自适应上下文块,如图4所示。这些图片来自城市景观的验证集。我们可以发现,全局门控系数大的像素更喜欢主要的东西和大的物体,如第一行的“路”和最后两行的“车”。这些东西和对象在我们的方法中得到了改进。此外,全局门控系数小的像素更喜欢小物体和边缘,如“交通标志”和“杆”、“人”等。这些空间细节也在我们的结果中得到了细化。在其他图片中也发现了类似的趋势。

**改进策略:**我们按照[3、16、12、8、6、11]的一般流程进一步改进ACNet的性能:(1)一个更深入、功能更强大的网络ResNet-101。(2) MG:最后一个ResNet块不同的扩张速率(4,8,16)。(3) DA:我们在训练阶段对输入图像进行随机尺度变换(从0.5到2.2)。(4) OHEM:采用在线硬例挖掘。(5) MS:我们使用尺度为{0.5 0.75,1,1.25,1.5,1.75,2,2.25}的多尺度输入以及它们的镜像进行推理。

​ 实验结果如表3所示,当采用更深层次的骨干(ResNet101)时,ACNet获得了77.42%的平均IoU。然后采用多网格扩展卷积算法提高了1.08%的性能。采用多尺度输入(DA)的数据增强又带来了1.59%的改善。OHEM将性能提高到80.89%。最后,通过多尺度测试,我们在验证集上获得了最佳的82.00%。

**与先进的方法比较:**我们也比较了我们的方法与先进的方法在城市景观测试集。具体来说,我们只使用带注释的训练数据对我们最好的ACNet模型进行微调,并将我们的测试结果提交到官方评估服务器。对于每个方法,我们报告每个类的准确性和平均类准确性,这是在原始论文中报告的。结果如表4所示。我们可以看到,我们的ACNet在测试集上实现了82.3%的最新性能。在使用相同的骨干网络ResNet-101时,我们的模型优于DANet[16]。此外,ACNet也超过了使用更强大的预训练模型的DenseASPP[32],高于在训练阶段额外使用粗标注的Deeplabv3+4。


4.4 Results on ADE20K dataset

​ 在本节中,我们在ADE20K数据集上进行实验,验证我们方法的有效性。在前人的工作[14,18,37,40,41]之后,我们使用了多尺度输入的数据增强和多尺度测试。我们通过像素级精度(PixelAcc)和类级相交联合均值(mIoU)来评估ACNet。定量结果见表5。使用ResNet50,扩张后的FCN得到37.32%/77.78%的mIoU和PixelAcc。采用我们的方法后,性能提高了5.69%/3.23%。当采用更深层次的骨干ResNet101时,ACNet实现了45.90%/81.96%的最新性能,优于以往的最新性能。另外,我们还使用trainval数据对我们的最佳ACNet-101模型进行微调,并在测试集中提交我们的测试结果。ACNet-101单模型组的最终得分为55.84%。在这些方法中,大多数方法[40,37,18,38,41,14]试图通过对主干顶部特征的变异和关系的聚合来探索全局信息。而我们的方法侧重于从高级和低级特征中获取像素感知上下文,从而获得了更好的性能。


4.5 Results on PASCAL Context Dataset

​ 我们还在PASCAL上下文数据集上进行了实验,进一步验证了ACNet的有效性。我们使用ACNet-101网络,在ADE20K上采用相同的训练策略,并将我们的模型与之前最先进的方法进行比较。结果见表7。ACNet获得的平均欠条数为54.1%,超过了以往公布的方法。在这些方法中,最近的方法[21,28]使用了更强大的网络(例如。ResNet-152和exception -71)作为编码器网络,融合了解码网络的高、低特征,在性能上有较大的优势。


4.6 Results on COCO stuff Dataset

​ 最后,在COCO人员数据集上验证了ACNet的有效性。使用ACNet-101网络。表8报告了COCO材料的结果。ACNet的平均欠条率为40.1%,也超过了其他最先进的方法。


5.Conclusion

Results on COCO stuff Dataset

​ 最后,在COCO人员数据集上验证了ACNet的有效性。使用ACNet-101网络。表8报告了COCO材料的结果。ACNet的平均欠条率为40.1%,也超过了其他最先进的方法。


5.Conclusion

​ 在本文中,我们提出一个新颖的网络ACNet捕捉pixel-aware自适应上下文场景解析,在全局上下文模块和本地上下文模块都经过精心设计,与联合使用作为一种自适应背景块获得竞争融合两个上下文的每个位置。我们工作的动机是观察到,来自高级特征的全局上下文有助于对一些大型语义混淆区域进行分类,而来自低级视觉特征的局部上下文有助于生成清晰的边界或细节。大量的实验证明,与其他先进的方法相比,ACNet具有出色的性能。我们相信这种自适应上下文块也可以扩展到其他视觉应用,包括目标检测、姿态估计和细粒度识别。


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 都会|可能会_###haohaohao###图神经网络之神器——PyTorch Geometric 上手 & 实战
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了###haohaohao###图神经网络之神器——PyTorchGeometric上手&实战相关的知识,希望对你有一定的参考价值。 ... [详细]
  • navicat生成er图_实践案例丨ACL2020 KBQA 基于查询图生成回答多跳复杂问题
    摘要:目前复杂问题包括两种:含约束的问题和多跳关系问题。本文对ACL2020KBQA基于查询图生成的方法来回答多跳复杂问题这一论文工作进行了解读 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 程度|也就是_论文精读:Neural Architecture Search without Training
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了论文精读:NeuralArchitectureSearchwithoutTraining相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 关于VS Code下运行PyTorch的一些小bug及其解决
    一、无法正确识别引用库默认情况下回出现importmatplotlibcouldnotberesolved的提示,可能是没有安装对应的扩展包。首先在anaconda的 ... [详细]
author-avatar
mobiledu2502875393
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有