2021-08-20_对抗性损失-程序员宅基地

srgan原始文献阅读(看不懂+10000…)
尽管使用更快、更深的卷积神经网络在单图像超分辨率的精度和速度方面取得了突破,但一个核心问题仍然基本上没有解决:当我们在较大的放大因子下进行超分辨率时,如何恢复更细的纹理细节?在图像下采样过程中,信息丢失,使超分辨率成为一个具有大量可能解的高度不适定反问题。因此,基于优化的超分辨率方法的行为主要取决于目标函数的选择。最近的工作主要集中在最小化均方重建误差(MSE)。由此产生的估计具有高峰值信噪比(PSNR),但它们通常过于平滑,缺乏高频细节,使它们在感知上不令人满意。在本文中,我们提出了超分辨率生成对抗网络(SRGAN)。据我们所知,它是第一个能够从4×下采样恢复照片真实自然图像的框架。为了实现这一点,我们提出了一个感知损失函数,它包括对抗性损失和内容损失。对抗性的损失将我们的解决方案推向自然图像流形,使用鉴别器网络进行训练,以区分超分辨率图像和原始照片真实图像。此外,我们使用了基于感知相似性的内容损失函数,而不是像素空间中的相似性。通过使用感知损失函数对350K图像进行训练,我们的深度残差网络能够在公共基准上从大量下采样的图像中恢复照片真实的纹理。
从低分辨率(LR)图像中估计高分辨率(HR)图像的高度挑战性任务称为超分辨率(SR)。尽管问题很难解决,但对SR的研究受到了计算机视觉界的广泛关注。广泛的应用[36]包括监控视频中的人脸识别[61]、视频流和医疗应用。估计HR图像时的一个主要困难是欠定SR问题的解的模糊性。对于高下采样因子,SR问题的病态性质尤其明显,对于高下采样因子,重建SR图像中的纹理细节通常不存在。必须对数据进行假设以近似HR图像,例如利用图像冗余或使用经过专门训练的特征模型。在过去几十年中,图像SR[36,53]取得了重大进展,早期的方法基于插值、简单图像特征(例如。G边缘)或统计图像优先级。后来的基于示例的方法非常成功地检测和利用了训练数据库中的补丁对应关系或计算优化字典,从而实现了高细节数据表示。虽然精度很高,但涉及的面片检测和稀疏编码的优化过程都是计算密集型的。更先进的方法将基于图像的SR表述为一个回归问题,例如可以用随机森林来解决[39]。最近卷积神经网络(CNN)的兴起也对图像SR产生了重大影响[8],不仅提高了精度,而且提高了计算速度,实现了2D视频帧的实时SR[40]。有监督SR算法的优化目标通常是使恢复的HR图像与地面真值之间的均方误差(MSE)最小化。这很方便,因为最小化MSE也会使峰值信噪比(PSNR)最大化,峰值信噪比是用于评估和比较SR算法的常用度量[53]。然而,MSE(和PSNR)捕获感知相关差异(如高纹理细节)的能力非常有限,因为它们是基于像素级图像差异定义的[52、49、21]。这如图2所示,其中最高PSNR不一定反映感知上更好的SR结果。超分辨率图像和原始图像之间的感知差异意味着超分辨率图像不是Ferwerda[12]定义的照片真实感。包括[44,60,57]在内的照片真实感图像超分辨率技术一直致力于通过使用细节合成、多尺度词典或结构感知损失函数来最小化感知差异。在这项工作中,我们提出了超分辨率生成对抗网络(SRGAN),其中我们采用了一个深度剩余网络,并将偏离MSE作为唯一的优化目标。与以前的工作不同,我们使用VGG网络的高级特征图[41,26]结合鉴别器定义了一种新的感知损失,该鉴别器鼓励在感知上难以与HR参考图像区分的解决方案。图1显示了使用SRGAN从4×下采样因子超分辨率的照片真实图像示例。

1.1.相关工作1.1.1图像超分辨率
图像超分辨率有大量文献和研究,重点关注从低分辨率观测中恢复高分辨率图像的问题。最近的综述文章包括Nasrollahi和Moeslund[36]或Y ang等人[53]。在这里,我们将重点讨论单图像超分辨率(SISR),不再进一步讨论从多个图像恢复HR图像的方法,例如从不同视点或图像帧的时间序列获取的对象图像[4,11]。
基于预测的方法是解决SISR的最早也是最直接的方法之一。而这些过滤方法,如。G线性、双三次或Lanczos[10]滤波可能非常快,它们**过度简化了SISR问题,通常产生过度平滑的解决方案,无法恢复高频图像信息。**例如,Allebach和Wong[1]或Li等人[32]提出了特别注重边缘保护的插值方法。更强大的方法旨在建立低分辨率和高分辨率图像信息之间的复杂映射,通常依赖于训练数据。许多基于示例对的方法依赖于已知对应HR的LR训练补丁。弗里曼等人提出了早期的研究成果[14,13]。SR问题的相关方法起源于压缩感知,目的是估计关于过完备字典的稀疏面片表示[54,9,59]。在Glasner等人[17]中,作者利用图像中不同尺度的斑块冗余来驱动SR。Huang等人[24]也采用了这种自相似的范例,其中通过进一步允许小的变换和形状变化来扩展描述不足的自字典。为了在避免边缘伪影的同时重建真实纹理细节,Tai等人[44]将基于梯度轮廓先验[42]的边缘定向SR算法与基于学习的细节合成相结合。Zhang等人[60]提出了一种多尺度词典,用于捕获不同尺度下相似图像块的冗余,以增强视觉细节。为了超级解析地标图像,Y ue等人[57]从web检索具有相似内容的相关HR图像,并提出一种结构感知的对齐匹配标准。邻域嵌入通过在低维流形中找到相似的LR训练面片并结合其相应的HR面片进行重建,从而对给定的LR图像面片进行上采样[45,46]。在Kim和Kwon[28]中,作者强调了邻域方法过度拟合的趋势,并使用核岭回归从低分辨率图像到高分辨率图像样本对学习更一般的映射。回归问题也可以用随机森林直接解决,从而避免了稀疏字典的显式训练[39]。在Dai等人[5]中,作者在训练期间学习了大量特定于斑块的回归器,并在使用kNN进行测试期间为给定LR斑块选择了最合适的回归器。最近,基于CNN的SR算法表现出了优异的性能。在Wang等人[50]中,作者基于学习的迭代收缩和阈值算法(LISTA)[19],将稀疏表示编码到他们的前馈网络结构中。Dong等人[7,8]使用双三次插值来放大输入图像,并从头到尾训练三层深度完全卷积网络,以实现最先进的SR性能。
随后,研究表明,使网络能够直接学习放大滤波器可以进一步提高精度和速度方面的性能[40,48]。在Shi等人[40]中,仅在网络的最后一层执行放大,从而避免在SR图像的高分辨率空间中进行昂贵的计算。Kim等人[27]利用其深度加密卷积网络(DRCN),提出了一种高性能的体系结构,该体系结构允许长距离像素相关性,同时保持模型参数的数量较小。Johnson等人[26]的工作与我们的论文特别相关,他们依靠更接近知觉相似性的损失函数来恢复视觉上更具说服力的HR图像。
1.1.2卷积神经网络的设计(夸一波深度学习)
在Krizhevsky等人的工作取得成功后,许多计算机视觉问题的最新技术水平同时由专门设计的CNN架构设定[30]。研究表明,更深层次的网络体系结构可能难以训练,但有可能大幅提高网络的准确性,因为它们允许非常高复杂性的建模映射[41,43]。为了有效地训练这些更深层次的网络结构,通常使用标准化[25]来抵消内部协变量的变化。更深层次的网络架构也可以提高SISR的性能,例如。GKim等人[27]提出了一个递归CNN,并给出了最新的结果。另一个简化深层CNN训练的强大设计选择是最近引入的剩余块[22]和跳过连接[23,27]的概念。跳过连接减轻了网络体系结构对本质上微不足道的身份映射的建模,然而,用卷积核表示身份映射可能是不平凡的。在SISR的背景下,还表明学习放大滤波器在速度和精度方面都是有益的[51,40]。这是对Dong等人[8]的改进,在Dong等人[8]中,在将图像馈送给CNN之前,采用了数据独立的双三次插值来提高LR观测值。此外,如[40,26]所述,通过在LR空间中提取特征映射,速度增益可用于采用深度残差网络(ResNet)以提高精度。
1.1.3损失函数

像素级损失函数(如MSE)难以处理恢复丢失的高频细节(如纹理)中固有的不确定性:最小化MSE会鼓励找到合理解决方案的像素级平均值,这些解决方案通常过于平滑,因此感知质量较差[35,26]。不同感知质量的示例重建以图2中相应的PSNR为例。我们在图3中说明了最小化像素级MSE的问题,其中多个具有高纹理细节的潜在解决方案被平均以创建平滑重建。在Mathieu等人[35]和Denton等人[6]中,作者通过使用生成性对抗网络(GANs)[18]应用于图像生成来解决这个问题。在Radford等人[37]中,GANs还用于无监督的表征学习。使用GAN学习从一个流形到另一个流形的映射的想法由Li和Wand[31]描述用于风格转换,Y eh等人[55]描述用于修复。
在Johnson等人[26]中,作者建议使用
从预训练VGG网络中提取的特征
怎么做到?),而不是低水平的像素误差度量。具体而言,作者根据从VGG19[41]网络中提取的特征地图之间的欧几里德距离来制定损失函数。在超分辨率和艺术风格转换方面都获得了更令人信服的结果[15,16]。最近,Li和Wand[31]还研究了在像素或VGG特征空间中比较和混合面片的效果。
1.2.GANs提供了一个强大的框架,用于生成具有高感知质量的看似合理的自然图像。在GAN框架中,两个神经网络,一个生成器和一个鉴别器,以相互竞争的目标同时训练。鉴别器网络经过训练以区分自然和合成生成的图像,而生成器通过最佳鉴别器学习生成与自然图像无法区分的图像。实际上,GAN程序鼓励生成的合成样本向搜索空间中包含照片真实感图像的高概率区域移动,从而更接近自然图像流形,如图3所示。在本文中,我们描述了第一个非常深的ResNet[22,23]使用GANs概念形成接近人类感知的感知损失函数的建筑,用于照片逼真的SISR。我们的主要贡献是:
我们通过PSNR和结构相似性(SSIM)测量的高下采样因子(4×)和针对MSE优化的深度残差网络(SRResNet),为图像SR设定了新的技术状态。具体而言,我们首先在LR空间[40,26]和批量归一化[25]中采用快速特征学习,以稳健地训练由15个剩余块组成的深层网络,从而获得更高的精度
•我们能够通过使用内容损失和对抗丢失的组合作为新的感知损失,从高下采样因子(4×)中恢复照片真实感SR图像。对抗性损失由鉴别器网络驱动,以鼓励来自自然图像域的解决方案,而内容损失确保超分辨率图像与低分辨率图像具有相同的内容。我们
进一步将基于MSE的内容损失函数替换为VGG网络最后卷积特征映射之间的欧几里德距离[41]
(啥意思啊),如Li和Wand[31]中图3和图4所示,后者对像素空间的变化更具不变性。
我们使用公开的基准数据集的图像验证了所提出的方法,并将我们的性能与最先进的作品(包括SRCNN[8]、SelfExSR[24]和DRCN[27])进行了比较。与传统方法相比,我们证实了我们的网络在4倍下采样因子下重建照片真实感图像的潜力。在下文中,我们在第2节中描述了网络架构和感知损失。第3节中提供了对公共基准数据集的定量评估以及可视化说明。论文在第4节中讨论了局限性,在第5节中进行了总结。随机选择图像附录中提供了SRGAN的超级解决方案。
2.方法
在SISR中,目标是从低分辨率输入图像ILR估计高分辨率、超分辨率图像ISR。这里ILRis是其高分辨率对应的IHR的低分辨率版本。高分辨率图像仅在训练期间可用。在训练中,通过对IHR应用高斯滤波器获得ILRis,然后使用下采样因子r进行下采样操作。对于具有C色通道的图像,我们分别用大小为W×H×C和IHR的实值张量(ISRby rW×rH×C)来描述ILRB。(也就是除了像素点不一样之外,hr和lr图像的通道数是一样的
我们的最终目标是训练一个生成函数G,该生成函数估计给定的LR输入图像及其对应的HR对应图像。为了实现这一点,我们训练一个生成网络作为前馈CNN GθG,并用θG参数化。这里θG={W1:L;b1:L}表示L层深度网络的权重和偏差,通过优化SRR特定损失函数lSR获得。对于给定的训练图像IHR n,n=1,N与相应的ILR N,N=1,N、 我们解决:
在这里插入图片描述
各参数意义:

在这项工作中,我们将专门设计一个感知损失lSR,它是多个损失分量的加权组合,模拟恢复的SR图像的不同期望特征。第2.2节详细描述了各个损失函数。
在这里插入图片描述
2.1.对抗性网络架构

遵循Goodfelle等人[18]的观点,我们进一步定义了一个鉴别器网络DθD,我们以交替方式与GθGT一起优化该网络,以解决对抗性最小-最大问题:
该公式背后的总体思想是,它允许人们训练生成模型G,目的是愚弄训练用于区分超分辨率图像和真实图像的可微鉴别器D。使用这种方法,我们的生成器可以学习创建与真实图像高度相似的解决方案,因此很难按D分类。最终,这鼓励了自然图像的子空间(流形)中存在的感知上优越的解决方案。这与通过最小化像素误差测量(如MSE)获得的SR解决方案形成对比。
图4所示的极深生成网络G的核心是具有相同布局的B残差块。受Johnson等人[26]的启发,我们采用Gross和Wilber[20]提出的街区布局。具体地说,我们使用两个卷积层作为激活函数,这两个卷积层具有小3×3内核和64个特征映射,然后是批标准化层[25]和ReLU。我们使用Shi等人提出的两个经过训练的反褶积层(步长=0.5)来提高输入图像的分辨率[40]。
为了从生成的SR样本中识别真实的HR图像,我们训练了一个鉴别器网络。图4说明了一般架构。在这里,我们遵循Radford等人[37]总结的架构指南,使用LeakyReLU激活,避免整个网络中的最大池。对鉴别器网络进行训练,以解决等式2中的最大化问题。它包含八个卷积层,过滤核的数量不断增加,从64个增加到512个,与VGG网络中的情况一样,增加了2倍[41]。每次特征数量增加一倍时,使用跨步卷积来降低图像分辨率。
得到的512个特征图之后是两个密集层和最终的sigmoid激活函数,以获得样本分类的概率。

2.2.感知损耗函数

感知损耗函数的定义对于生成网络的性能以及SR算法至关重要。虽然LSRI通常基于MSE[8,40]建模,但我们改进了Johnson等人[26],并设计了一个损失函数,可以根据感知相关特征评估解决方案的质量。给定加权参数γi,i=1,K、 我们将lSR=pki=1γilSR i定义为单个损失函数的加权和。具体而言,我们的感知损失包括内容损失、对抗性损失和规则化损失,我们在下文中具体说明。
2.2.1内容损失
像素级MSE损失计算如下:
在这里插入图片描述
这是许多最先进的方法所依赖的最广泛使用的图像SR优化目标[8,40]。然而,在实现特别高的峰值信噪比的同时,MSE优化问题的解决方案通常缺乏高频内容,这导致感知上不满意、过于平滑的解决方案(参见图2)
我们不依赖像素损失,而是基于Gatys等人[16]和Johnson等人[26]的想法,使用更接近感知相似性的损失函数。我们根据Simonyan和Zisserman[41]中描述的预先训练的19层VGG网络的ReLU激活层定义VGG损耗。在JVE中,JWE表示在VGG19网络中的第i个MyPoopLink层之前由第j个卷积获得的特征图。然后,我们将VGG损失定义为重建图像的特征表示GθG(ILR)和参考图像IHR之间的欧氏距离:在这里插入图片描述
此处Wi、jand Hi、JD描述了VGG网络内各特征图的尺寸。
2.2.2对抗性损失
除了到目前为止描述的内容损失外,我们还将我们的GAN的生成成分添加到感知损失中。这鼓励我们的网络通过试图愚弄鉴别器网络来偏爱驻留在多种自然图像上的解决方案。基于鉴别器DθD(GθG(ILR))在所有训练样本上的概率,将生成损耗lSR Gen定义为:在这里插入图片描述
这里,DθD(GθG(ILR))是重建图像GθG(ILR)是自然HR图像的估计概率。请注意,为了更好的梯度行为,我们最小化了a而不是b
2.2.3正规化损失
我们进一步采用基于总变化的正则化器来鼓励空间相干解[2,26]。正则化损失lT V的计算公式为:
在这里插入图片描述
3.实验
3.2.训练细节和参数
我们使用ImageNet数据库中的随机样本在NVIDIA Tesla M40 GPU上训练所有网络[38]。这些图像与Set5、Set14和BSD测试图像不同。我们通过使用双三次核(下采样因子r=4)对HR图像进行下采样获得LR图像。对于每个小批量,我们裁剪16个随机96×96子图像,这些子图像是不同的训练图像。请注意,我们可以将生成器模型应用于任意大小的图像,因为它是完全卷积的。对于优化,我们使用β1=0.9的Adam[29],用于第3.3节中评估的SRResNet网络和VGG2的预训练。2网络我们使用了5万张ImageNet图像,学习率为10%−4具有1060次更新迭代。我们使用lSR=lSR V GG/2
对生成模型进行了预训练。2对于φ2,2,我们在训练实际GAN时提供了一个初始化,以避免不需要的局部最优。我们发现该模型使用VGG2进行了预训练。2 loss比MSE预先培训的效果更好。我们使用35万张而不是5万张ImageNet图像来训练对抗性的SRGAN网络大约一天,因为我们发现它们比SRResNet更难训练。我们交替更新生成器和鉴别器网络,这相当于Goodfello等人[18]中使用的k=1。我们的发电机网络有15个相同(B=15)的残差块(在哪里?)。
3.3.基于MSE的网络性能
在本文中,我们为生成器选择了一种网络结构(见图4),该结构结合了高效亚像素卷积神经网络(ESPCN)[40]的有效性和ResNet的高性能[22]。我们首先评估无对抗性组件的lSR=lSR M SEW发电机网络的性能。我们将这种基于MSE的SR网络称为SRResNet。我们将SRResNet的性能与双三次插值和四种最先进的框架进行了比较:Dong等人[7]描述的超分辨率CNN(SRCNN),一种基于变换自样本(SelfExSR)[24]的方法,Kim等人[27]描述的深度递归卷积网络(DRCN)和允许实时视频SR的高效亚像素CNN(ESPCNN)[40]。定量结果总结在表1中,并确认SRResNet在三个基准数据集上建立了一个新的技术状态。请注意,我们使用了一个公开的评估框架(参见第3.1节),因此报告的值可能与原始文件中报告的值略有偏差。

3.4.内容损失调查
我们进一步研究了不同内容丢失选择对基于GAN的网络(称为SRGAN)感知丢失的影响。具体而言,我们调查以下损失:
在这里插入图片描述
在这里,我们将lSR X设置为:在这里插入图片描述

表2总结了定量结果,图5提供了视觉示例。即使与对抗性损失相结合,MSE也提供了具有最高PSNR值的解决方案,然而,与对视觉感知更敏感的损失分量相比,这些解决方案在感知上相当平滑,且不太令人信服。这是由基于MSE的内容丢失和对抗性丢失之间的竞争造成的。一般来说,内容丢失离像素空间越远,效果就越好。因此,与φ2,2相比,我们使用更高级别的VGG特征映射φ5,4观察到了更好的纹理细节。通过SRGAN-VGG54超分辨率感知改善的更多示例如图6所示,并在附录中提供。
4.讨论和今后的工作
实验表明,纯粹基于视觉比较的框架具有优越的感知性能。PSNR和SSIM等标准定量测量显然无法捕获和准确评估人类视觉系统的图像质量[47]。由于PSNR不能充分量化SR结果的感知质量,未来的工作将包括通过收集主观测量(如平均意见分数(MOS))来量化用户体验。这项工作的重点是超分辨率图像的感知质量,而不是计算效率。与Shi等人[40]相比,本文提出的模型并未针对实时视频SR进行优化。然而,对网络体系结构的初步实验表明,较浅的网络有可能在质量性能稍有降低的情况下提供非常有效的替代方案。对网络结构以及感知损失的深入研究将是未来工作的一部分。与Dong等人[8]相比,我们发现更深层次的网络架构是有益的。我们推测,ResNet设计对更深层次网络的性能有重大影响,并可能解释不同的发现。在针对SR问题的照片现实解决方案时,特别重要的是选择内容丢失,如图5所示。在这项工作中,我们发现lSR V GG/5.4产生了感知上最令人信服的结果,我们将其归因于更深的网络层代表更高抽象特征的潜力[58,56,33]远离像素空间。我们推测,这些更深层次的特征图只关注内容,而敌对损失则关注纹理细节,这是没有敌对损失的超分辨率图像与照片真实图像之间的主要区别。开发描述图像空间内容但对像素空间变化更具不变性的内容丢失函数将进一步改善照片真实感图像SR结果。
5.结论
我们描述了一种深度残差网络SRResNet,当使用广泛使用的PSNR度量进行评估时,它在公共基准数据集上建立了一种新的技术状态。然后,我们进一步介绍了SRGAN,它通过大的下采样因子(4×)生成照片逼真的超分辨率图像,这些下采样因子与原始图像的区别较小。我们强调了PSNR聚焦图像超分辨率的一些局限性,因此提出了一种新的SR感知损失函数,该函数通过训练GAN来增强内容损失函数的对抗性损失。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42181042/article/details/119823550

智能推荐

攻防世界_难度8_happy_puzzle_攻防世界困难模式攻略图文-程序员宅基地

文章浏览阅读645次。这个肯定是末尾的IDAT了,因为IDAT必须要满了才会开始一下个IDAT,这个明显就是末尾的IDAT了。,对应下面的create_head()代码。,对应下面的create_tail()代码。不要考虑爆破,我已经试了一下,太多情况了。题目来源:UNCTF。_攻防世界困难模式攻略图文

达梦数据库的导出(备份)、导入_达梦数据库导入导出-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏10次。偶尔会用到,记录、分享。1. 数据库导出1.1 切换到dmdba用户su - dmdba1.2 进入达梦数据库安装路径的bin目录,执行导库操作  导出语句:./dexp cwy_init/[email protected]:5236 file=cwy_init.dmp log=cwy_init_exp.log 注释:   cwy_init/init_123..._达梦数据库导入导出

js引入kindeditor富文本编辑器的使用_kindeditor.js-程序员宅基地

文章浏览阅读1.9k次。1. 在官网上下载KindEditor文件,可以删掉不需要要到的jsp,asp,asp.net和php文件夹。接着把文件夹放到项目文件目录下。2. 修改html文件,在页面引入js文件:<script type="text/javascript" src="./kindeditor/kindeditor-all.js"></script><script type="text/javascript" src="./kindeditor/lang/zh-CN.js"_kindeditor.js

STM32学习过程记录11——基于STM32G431CBU6硬件SPI+DMA的高效WS2812B控制方法-程序员宅基地

文章浏览阅读2.3k次,点赞6次,收藏14次。SPI的详情简介不必赘述。假设我们通过SPI发送0xAA,我们的数据线就会变为10101010,通过修改不同的内容,即可修改SPI中0和1的持续时间。比如0xF0即为前半周期为高电平,后半周期为低电平的状态。在SPI的通信模式中,CPHA配置会影响该实验,下图展示了不同采样位置的SPI时序图[1]。CPOL = 0,CPHA = 1:CLK空闲状态 = 低电平,数据在下降沿采样,并在上升沿移出CPOL = 0,CPHA = 0:CLK空闲状态 = 低电平,数据在上升沿采样,并在下降沿移出。_stm32g431cbu6

计算机网络-数据链路层_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏8次。数据链路层习题自测问题1.数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与”数据链路接通了”的区别何在?2.数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。3.网络适配器的作用是什么?网络适配器工作在哪一层?4.数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?5.如果在数据链路层不进行帧定界,会发生什么问题?6.PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输

软件测试工程师移民加拿大_无证移民,未受过软件工程师的教育(第1部分)-程序员宅基地

文章浏览阅读587次。软件测试工程师移民加拿大 无证移民,未受过软件工程师的教育(第1部分) (Undocumented Immigrant With No Education to Software Engineer(Part 1))Before I start, I want you to please bear with me on the way I write, I have very little gen...

随便推点

Thinkpad X250 secure boot failed 启动失败问题解决_安装完系统提示secureboot failure-程序员宅基地

文章浏览阅读304次。Thinkpad X250笔记本电脑,装的是FreeBSD,进入BIOS修改虚拟化配置(其后可能是误设置了安全开机),保存退出后系统无法启动,显示:secure boot failed ,把自己惊出一身冷汗,因为这台笔记本刚好还没开始做备份.....根据错误提示,到bios里面去找相关配置,在Security里面找到了Secure Boot选项,发现果然被设置为Enabled,将其修改为Disabled ,再开机,终于正常启动了。_安装完系统提示secureboot failure

C++如何做字符串分割(5种方法)_c++ 字符串分割-程序员宅基地

文章浏览阅读10w+次,点赞93次,收藏352次。1、用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代。示例://借助strtok实现split#include <string.h>#include <stdio.h&_c++ 字符串分割

2013第四届蓝桥杯 C/C++本科A组 真题答案解析_2013年第四届c a组蓝桥杯省赛真题解答-程序员宅基地

文章浏览阅读2.3k次。1 .高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记_2013年第四届c a组蓝桥杯省赛真题解答

基于供需算法优化的核极限学习机(KELM)分类算法-程序员宅基地

文章浏览阅读851次,点赞17次,收藏22次。摘要:本文利用供需算法对核极限学习机(KELM)进行优化,并用于分类。

metasploitable2渗透测试_metasploitable2怎么进入-程序员宅基地

文章浏览阅读1.1k次。一、系统弱密码登录1、在kali上执行命令行telnet 192.168.26.1292、Login和password都输入msfadmin3、登录成功,进入系统4、测试如下:二、MySQL弱密码登录:1、在kali上执行mysql –h 192.168.26.129 –u root2、登录成功,进入MySQL系统3、测试效果:三、PostgreSQL弱密码登录1、在Kali上执行psql -h 192.168.26.129 –U post..._metasploitable2怎么进入

Python学习之路:从入门到精通的指南_python人工智能开发从入门到精通pdf-程序员宅基地

文章浏览阅读257次。本文将为初学者提供Python学习的详细指南,从Python的历史、基础语法和数据类型到面向对象编程、模块和库的使用。通过本文,您将能够掌握Python编程的核心概念,为今后的编程学习和实践打下坚实基础。_python人工智能开发从入门到精通pdf