通过生成表征的自条件图像生成

文章目录

  • 摘要
  • 1、简介
  • 2、相关工作
  • 3、方法
  • 4、结果
    • 4.1、设置
    • 4.2、无条件类别的生成
    • 4.3、无分类器指导
    • 4.4、消融实验
    • 4.5、计算成本
    • 4.6、定性结果
  • 5、讨论

摘要

https://arxiv.org/pdf/2312.03701.pdf
本文提出了表示条件图像生成(Representation-Conditioned Image Generation,简称RCG),这是一个简单而有效的图像生成框架,在类别无条件的图像生成中设置了新的基准。RCG不依赖于任何人类标注,而是依赖于一种自监督表示分布,该分布是使用预训练编码器从图像分布中映射出来的。在生成过程中,RCG使用表示扩散模型(Representation Diffusion Model,简称RDM)从这样的表示分布中进行采样,并使用像素生成器根据采样的表示来生成图像像素。这样的设计在生成过程中提供了大量的指导,从而实现了高质量的图像生成。在ImageNet 256×256上进行测试,RCG实现了3.31的Frechet Inception距离(FID)和253.4的Inception分数(IS)。这些结果不仅显著提高了类别无条件图像生成的最新技术水平,而且与当前领先的类别条件图像生成方法相媲美,缩小了这两项任务之间长期存在的性能差距。代码可在https://github.com/LTH14/rcg获得。

1、简介

近年来,条件图像生成取得了令人瞩目的成果,利用类别标签或文本描述等人类标注来指导生成过程[11,12,18,22,47,51]。相比之下,省略这种条件元素的无条件图像生成历来是一项更具挑战性的任务,往往产生的效果不那么令人印象深刻[3,18,19,39,43]。

这种二分法与监督学习和无监督学习之间的二分法相似。从历史上看,无监督学习在性能上落后于监督学习。随着自监督学习(SSL)的出现,这一差距有所缩小,它从数据本身生成监督信号,与监督学习相比取得了相当或更好的结果[9,13,25-27]。

根据这种类比,我们将自条件图像生成问题视为图像生成领域中自我监督学习的一种对应。这种方法不同于传统的无条件图像生成,它将像素生成过程置于从数据分布本身导出的表示分布上,如图1c所示。
在这里插入图片描述

自条件图像生成之所以重要,有几个原因。首先,对于无条件图像生成来说,对表示进行自我调节是一种更直观的方法,它反映了艺术家在将抽象概念转化为画布之前的构思过程。其次,类似于自监督学习如何超越监督学习,自条件图像生成利用广泛的未标记数据集,有可能超越条件图像生成的性能。第三,通过减少对人类标注的依赖,自条件生成为超出人类标注能力的领域(如分子设计或药物发现)中的生成应用铺平了道路。

自条件图像生成的核心在于精确地建模和从图像表示分布中进行采样(图1b)。这种图像表示还应保留足够的信息来指导像素生成过程。为了实现这一点,我们开发了一种表示扩散模型(RDM)来生成低维度的自我监督图像表示。这个分布是通过使用自我监督图像编码器(图1a)从图像分布中映射出来的。我们的方法提供了两个重要的好处。首先,RDM可以捕捉到表示空间底层分布的多样性,使其能够生成各种表示以促进图像生成。其次,这种自我监督的表示空间既有结构又具有低维度,这简化了表示生成任务的神经网络架构。因此,与像素生成过程相比,表示生成的计算开销极小。

使用RDM,我们提出了表示条件图像生成(RCG),这是一种简单而有效的框架,用于自条件图像生成。RCG由三个组件组成:一个SSL图像编码器(Moco v3 [16])将图像分布转换为紧凑的表示分布,一个RDM来建模和从该分布中采样,以及一个像素生成器来根据表示生成图像像素。这种设计使得RCG能够与常见的图像生成模型无缝集成,通过巨大的优势提高它们的类无条件图像生成性能(图2)。
在这里插入图片描述

RCG展示了卓越的图像生成能力。在ImageNet 256×256上进行评估,RCG的FID为3.56,Inception Score为186.9,显著优于之前所有的类无条件生成方法(最接近的state-of-the-art结果为7.04 FID和123.5 Inception Score [39])。通过使用无分类器指导,这些结果可以进一步改进到3.31 FID和253.4 Inception Score。值得注意的是,我们的结果与现有的类条件生成基准相当,甚至超过它们。这些结果表明自条件图像生成具有巨大的潜力,可能会引领该领域的新时代。

2、相关工作

自监督学习。在相当长的一段时间内,在各种计算机视觉任务中,监督学习主要优于无监督学习[8,28,29,63]。然而,自监督学习的出现显著缩小了这一性能差距。自监督学习的初步努力集中在创建借口任务和训练网络以预测相关的伪标签[23,44,46]。最近的发展表明,对比学习[14,15,38,45]提供了一种强大而系统的方法来学习有效的表示,取得了与监督学习几乎相当的结果。研究人员还发现,掩码图像建模(MIM)在自我监督学习中非常有效[4,26,35,39,48]。自监督学习的这些进步促使我们探索自我条件图像生成的概念。我们提出的框架RCG利用前沿的自监督学习方法将图像分布映射到紧凑的表示分布。

图像生成。近年来,用于图像合成的深度生成模型取得了巨大的进展。一个主要的生成模型流是建立在生成对抗网络(GANs)之上的[7,24,36,61,62]。另一个流基于两阶段方案[11,12,37,39,50,59,60]:首先将图像标记到潜空间,然后在潜空间中应用最大似然估计和采样。最近,扩散模型[18,31,49,51,55]也在图像合成方面取得了优越的结果。相关工作DALLE 2[49]以剪辑文本嵌入和图像标题为条件生成剪辑图像嵌入,并以生成的图像嵌入为条件生成图像,在文本到图像生成方面表现出优越的性能。

尽管这些模型在条件和无条件生成能力之间存在着显著的差距[3,18,19,39,43],但它们的性能仍然令人印象深刻。先前缩小这一差距的努力将图像分类为表示空间中的集群,并使用这些集群作为自我条件或自我指导的潜在类别标签[3,34,40]。然而,这隐含地假设应该是未标记的数据集是一个分类数据集,并且最佳集群数量接近于类别数量。此外,这些方法不能生成多样的表示——它们无法在同一集群或同一潜在类别内生成不同的表示。

另外两个相关的工作是RCDM [5]和IC-GAN [10],其中图像的生成基于从现有图像中提取的表示。尽管如此,这些方法依赖于真实图像在生成过程中提供表示,这一要求在许多生成应用中是不切实际的。

RCG的条件与所有先前的工作不同。与先前生成一组离散的预计算集群作为条件的自我条件方法不同,RCG学习了一个表示扩散模型来模拟表示空间的基础分布,并根据该表示分布生成图像。这种SSL表示的生成是通过一个简单而有效的表示扩散模型实现的。据我们所知,这是对生成低维SSL表示并将其用作图像生成的条件的首次探索和解决方案。对这样的表示分布进行建模和采样的能力使得像素生成过程可以在不需要人工注释的情况下由对图像的全面理解来指导。因此,这导致在无条件图像生成方面的性能显著优于以前的方法。

3、方法

RCG包含三个关键组件:一个预训练的自我监督图像编码器、一个表示生成器和一个像素生成器。每个组件的设计将在下面详细说明:

图像编码器。RCG采用预训练的图像编码器将图像分布转换为表示分布。这个分布具有两个基本特性:一是能够通过表示扩散模型进行简单建模,二是具有丰富的高层语义内容,可以指导像素生成。我们使用通过自我监督对比学习方法(Moco v3 [16])进行预训练的图像编码器,在超球面上规范化表示,同时在ImageNet上实现最先进的表示学习性能。我们在投影头之后取得表示(256维),并使用每个表示自身的均值和标准差进行归一化。

表示生成器。RCG使用简单而有效的表示扩散模型(RDM)从表示空间中采样。RDM采用具有多个残差块的完全连接网络作为主干网络,如图4所示。每个块由一个输入层、一个时间步嵌入投影层和一个输出层组成,每层包括一个LayerNorm [1]、一个SiLU [21]和一个线性层。这种架构由两个参数控制:残差块的数量N和隐藏维度C。

RDM遵循Denoising Diffusion Implicit Models (DDIM) [54]的训练和推理。如图3a所示,在训练期间,图像表示 z 0 z_0 z0与标准高斯噪声变量epsilon混合: z t = α t z 0 + 1 − α t ϵ z_t=\sqrt{\alpha_t} z_0+\sqrt{1-\alpha_t} \epsilon zt=αt z0+1αt ϵ。RDM主干网络然后被训练为去噪 z t z_t zt回到 z 0 z_0 z0。在推理期间,RDM按照DDIM采样过程[54]从高斯噪声生成表示。由于RDM在高度压缩的表示上运行,因此对于训练和生成带来了边际计算开销(表7)。
在这里插入图片描述

像素生成器。RCG中的像素生成器根据图像表示生成图像像素。概念上讲,任何现代条件图像生成模型(例如通过将原始条件(例如类别标签或文本)替换为SSL表示)都可以作为像素生成器。在图3b中,我们以MAGE [39]为例,这是一个并行解码生成模型。像素生成器被训练为从遮盖版本的图像中重建原始图像,条件是同一图像的表示。在推理期间,像素生成器从完全遮盖的图像中生成图像,条件是来自表示生成器的表示。
在这里插入图片描述

我们实验了三种具有代表性的生成模型:ADM [18]和LDM [51],这两种都属于扩散基础框架,以及MAGE [39],一种并行解码框架。我们的实验表明,当以高级表示为条件时,这三种生成模型都取得了更好的性能(图2和表6b)。无分类器指导。RCG的一个优点是它可以无缝地促进无条件生成任务的分类器自由指导。

无分类器指导,以增强生成模型性能而闻名,但传统上不适用于无条件生成框架[33,39]。这是因为无分类器指导是为通过无条件生成进行条件图像生成提供指导而设计的。尽管RCG也是为无条件生成任务设计的,但RCG的像素生成器是以自监督表示为条件,因此可以无缝集成无分类器指导,这进一步提高了其生成性能。

RCG遵循Muse [11]的方法,在其MAGE像素生成器中启用无分类器指导。在训练期间,MAGE像素生成器有10%的概率在没有以SSL表示为条件的情况下进行训练。在每个推理步骤中,MAGE预测一个以SSL表示为条件的logit l c l_c lc,以及一个无条件的logit l u l_u lu,用于每个被遮盖的token。最终的logit l g l_g lg是通过 l c l_c lc以指导比例τ远离 l u l_u lu而形成的: l g = l c + τ ( l c − l u ) l_g=l_c+\tau\left(l_c-l_u\right) lg=lc+τ(lclu)。MAGE然后根据 l g l_g lg进行采样以填充剩余的遮盖token。关于RCG无分类器指导的更多实现细节,请参阅附录B。

4、结果

4.1、设置

我们将RCG应用于ImageNet 256 × 256 [17],这是一个常见的用于图像生成的基准数据集。我们生成了5万张图像,并使用Frechet Inception Distance (FID) [30]和Inception Score (IS) [52]作为标准度量来衡量生成图像的保真度和多样性。FID是相对于ImageNet验证集进行测量的。在RCG像素生成器的训练过程中,将图像的较短边调整为256长度,然后随机翻转并裁剪为256 × 256。将SSL编码器的输入进一步调整为224 × 224,以使其位置嵌入大小兼容。对于我们的主要结果,RCG-L使用视觉Transformer (ViT-L) [20]预训练的Moco v3 [16]作为图像编码器,具有12个块和1536个隐藏维度的网络作为RDM的主干网络,并将MAGE-L [39]作为图像生成器。RDM训练200个epoch,使用恒定学习率,MAGE-L训练800个epoch,使用余弦学习率调度。更多实现细节和超参数请参阅附录B。

4.2、无条件类别的生成

在表1中,我们将RCG与ImageNet 256 × 256上的最先进的生成模型进行了比较。由于传统的无类别生成不支持分类器或无分类器指导[18,33],因此表1中的所有结果均未报告此类指导。
在这里插入图片描述

如第5图和表1所示,RCG可以生成具有高保真度和多样性的图像,达到3.56 FID和186.9 Inception Score,这显著优于之前的最先进的无条件类别图像生成方法。此外,这一结果还超过了之前最先进的类别条件生成方法(CDM [32]实现的4.88 FID),弥合了类别条件和无条件类别生成之间的历史鸿沟。我们在附录A中进一步表明,我们的表示扩散模型可以毫不费力地促进类别条件表示的生成,从而使RCG能够轻松地执行类别条件图像生成。这一结果表明了RCG的有效性,并进一步突显了自条件图像生成的巨大潜力。
在这里插入图片描述

4.3、无分类器指导

传统的无条件类别图像生成框架在缺乏类别标签的情况下无法使用分类器指导[18]。此外,由于指导本身来自无条件生成,因此它们也不与无分类器指导兼容。RCG的一个显著优势在于其能够将无分类器指导集成到其像素生成器中。如表2所示,RCG的性能通过无分类器指导得到了显著提升,达到了与使用指导的领先类别条件图像生成方法相当的水平。我们还对无分类器指导比例τ进行了消融实验,如表3所示。τ=1可以同时提高FID和IS,而较大的τ则可以不断提高Inception Score。
在这里插入图片描述
在这里插入图片描述

4.4、消融实验

本节对RCG的三个核心组件进行了全面的消融研究。我们的默认设置使用Moco v3 ViT-B作为预训练图像编码器,具有12个块、1536个隐藏维度的网络作为RDM的主干网络,训练100个epoch,以及训练200个epoch的MAGE-B像素生成器。默认设置用灰色标记在表4到表6中。除非另有说明,否则在每个组件的单独消融期间,所有其他属性和模块都设置为默认设置。
在这里插入图片描述

预训练编码器:我们在表4中探讨了不同的预训练图像编码器设置。表4a比较了通过各种SSL方法(Moco v3、DINO和iBOT)训练的图像编码器,突显了它们相对于无条件基线的巨大改进。此外,通过DeiT[58]以监督方式训练的编码器也表现出令人印象深刻的性能(5.51 FID和211.7 IS),表明RCG既适用于监督训练方法,也适用于自监督训练方法。

表4b评估了模型大小对预训练编码器的影响。具有更好线性探测准确性的较大模型不断增强生成性能,尽管较小的ViT-S模型(22M参数)仍然取得了不错的成果(5.77 FID和120.8 IS)。

我们进一步分析了图像表示维数的影响,使用Moco v3 ViT-B模型,其投影头的输出维度各不相同。表4c表明,过低的维度会丢失重要的图像信息,而过高的维度会给表示生成器带来挑战,因此既不能过低也不能过高。

表示扩散模型。表5对表示扩散模型进行了消融。RDM的架构由全连接块组成,网络的深度和宽度由块的数量和隐藏维度决定。表5a和表5b对这两个参数进行了消融,表明在12个块和1536个隐藏维度处存在最优平衡。此外,表5c和表5d表明,RDM的性能在大约200个训练周期和250个扩散步骤后趋于饱和。尽管只产生了少量的计算成本,但RDM在表6a中证明了对生成SSL表示的高效性。

像素生成器。表6对RCG的像素生成器进行了消融。表6a实验了无类别、有类别和自条件的MAGE-B,评估了在生成过程中不同的条件。没有任何条件的情况下,经过200个epoch训练的无类别MAGE-B只产生14.23 FID和57.7 IS。然而,当在生成的表示上有条件时,MAGE-B实现了5.07 FID和142.5 IS,这大大超过了无条件基线,并在FID上进一步超越了有类别基线。这表明表示可以提供比类别标签更多的指导。它也非常接近于“上限”,这是在像素生成过程中由ImageNet真实图像的oracle表示所提供的,这证明了RDM在生成逼真的SSL表示方面的有效性。
在这里插入图片描述

之前在自条件图像生成方面的工作主要集中在将图像分类为表示空间中的簇,并使用这些簇作为伪类别条件[3, 34, 40]。我们也评估了RCG中这种基于聚类的条件设置的效果,在Moco v3 ViT-B表示空间内采用k-means算法形成1000个簇。这种条件设置达到6.60 FID和121.9 IS,低于在生成的表示上有条件的结果。这是因为在这些离散的簇中包含的信息很有限,不足以对像素生成提供详细的指导。同样重要的是要注意,这种聚类方法依赖于关于总类别数的先验知识,而这种信息通常在一般的未标记数据集中是不可用的。

从概念上讲,RCG的像素生成器可以与各种生成模型集成。我们通过测试ADM、LDM和MAGE作为像素生成器来验证这一点。如表6b所示,对表示的条件反射显著提高了所有三个生成器的类无条件生成性能。此外,表6c表明,延长训练时间可以进一步提高成绩,这与现有研究结果一致[18,39,51]。这些结果表明,RCG是一个通用的自条件图像生成框架,当与不同的现代生成模型结合时,可以无缝地提高类无条件生成的性能。

4.5、计算成本

在表7中,我们给出了RCG计算成本的详细评估,包括参数数量、训练成本和生成吞吐量。训练成本是使用64个V100 gpu的集群来测量的。生成吞吐量是在单个V100 GPU上测量的。当LDM和ADM在单个NVIDIA A100上测量它们的生成吞吐量[51]时,我们通过假设A100与V100的×2.2加速[53]将其转换为V100吞吐量。
在这里插入图片描述

RCG-L使用预训练的Moco v3 ViT-L编码器、具有12个块和1536个隐藏维度的RDM以及MAGE-L像素生成器。训练阶段涉及RDM的200个周期和MAGE-L的800个周期。在生成过程中,RDM进行250个扩散步骤,而MAGE-L执行20个并行解码步骤。我们还报告了RCG-B的计算成本和FID,其训练成本较低,参数数量较少(使用Moco v3 ViT-B作为图像编码器和MAGE-B作为像素生成器)。由于Moco v 3 ViT编码器是预训练的,不需要用于生成,因此排除了其参数和训练成本。如表所示,与像素生成器相比,RDM模块仅增加少量成本。这表明RCG与现代生成模型的兼容性,突显了其以最小的计算负担增强生成性能的能力。

4.6、定性结果

在这里插入图片描述

表示重建。图6展示了RCG能够生成与给定表示在语义上对齐的图像的能力。我们使用ImageNet 256x256的示例提取SSL表示。对于每个表示,我们通过改变生成过程的随机种子来生成各种图像。RCG生成的图像虽然在具体细节上有所不同,但始终抓住了原始图像的语义精髓。这一结果突出了RCG利用图像表示中的语义信息来指导生成过程的能力,同时没有损害无条件图像生成中非常重要的多样性。
在这里插入图片描述

表示插值。利用RCG对表示的依赖,我们可以通过线性插值两个图像的表示在语义上从一张图像过渡到另一张图像。图7展示了在ImageNet图像对之间的这种插值。插值图像在各种插值率下仍然逼真,其语义内容从一个图像平滑地过渡到另一个图像。这表明RCG的表示空间既平滑又富有语义。这也展示了RCG在低维表示空间内操纵图像语义的潜力,为控制图像生成提供了新的可能性。

5、讨论

计算机视觉已经进入了一个新的时代,在这个时代,从大量未标记的数据集中学习正变得越来越普遍。尽管有这种趋势,但图像生成模型的训练仍然主要依赖于标记的数据集,这可以归因于条件图像生成和无条件图像生成之间存在巨大的性能差距。我们的论文通过探索自我条件图像生成来解决这个问题,我们将其作为条件图像生成和无条件图像生成之间的纽带。我们证明,通过将SSL表示用作条件来生成图像,并利用表示扩散模型来建模和从该表示空间中采样,可以有效弥合长期存在的性能差距。我们相信这种方法有可能将图像生成从人类注释的约束中解放出来,使其能够充分利用大量的未标记数据,甚至可以扩展到超出人类注释能力范围的模态。

致谢。感谢Huiwen Chang、Saining Xie、Zhuang Liu、Xinlei Chen和Mike Rabbat的讨论和反馈。还要感谢Xinlei Chen对MoCo v3的支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/263487.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【前缀和】【单调栈】LeetCode2281:巫师的总力量和

作者推荐 map|动态规划|单调栈|LeetCode975:奇偶跳 涉及知识点 单调栈 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 题目 作为国王的统治者,你有一支巫师军队听你指挥。 给你一个下标从 0 开始的整数数组 strength &…

LIGA-Stereo:为基于立体 3D 检测器的学习 LiDAR 几何感知表示

论文地址:https://openaccess.thecvf.com/content/ICCV2021/papers/Guo_LIGA-Stereo_Learning_LiDAR_Geometry_Aware_Representations_for_Stereo-Based_3D_Detector_ICCV_2021_paper.pdf 论文代码:https://github.com/xy-guo/LIGA-Stereo 摘要 基于立…

基于MybatisPlus批量高效插入百万条数据

引言 在JAVA程序开发中,对数据库进行大量数据插入是一个常见的操作,作为一个软件开发工程师,大批量的数据处理是日常工作,如何优化插入性能,提升数据处理效率是对大多数工程师的一个重要考验。本文将围绕逐条插入和批…

一分钟学会“沉浸式翻译”插件的安装与使用

一、安装 安装地址:https://immersivetranslate.com/ 选择对应的浏览器进入安装即可 二、简单的翻译使用方法 第一次安装需要先刷新界面才可以达到翻译效果 核心需要修改的地方在以下三个: 第一处:设置翻译服务,免费版的可以直接…

重温经典struts1之自定义类型转换器及注册的两种方式(Servlet,PlugIn)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 Struts的ActionServlet接收用户在浏览器发送的请求,并将用户输入的数据,按照FormBean中定义的数据类型,赋值给FormBean中每个变量&a…

八:爬虫-MySQL基础

一:MySQL数据库基础 1.MySQL数据库介绍 MySQL是一个[关系型数据库管理系统],由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Rela…

Kafka大数据框架学习攻略:精选Kafka学习资源,助你迅速掌握分布式消息系统!

介绍:Kafka是一个分布式、支持分区、多副本的基于zookeeper协调的分布式消息系统,可以实时处理大量数据和满足各种需求场景。它是一个基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域,支持消息的发布、订阅、消费和处理…

2023年12月21日开发正式版v1.2.3更新·本次更新30多个细节优化·完善丰富后台功能·加入演员关联机制

2023年12月21日开发正式版v1.2.3更新本次更新30多个细节优化完善丰富后台功能加入演员关联机制 产品简介 安卓苹果PCH5四端,蜻蜓z暗影版的衍生级版本,2023年优雅草蜻蜓z冬季雪花限定版,不仅继承了蜻蜓z的精良功能,还特色增加了弹…

[LitCTF 2023]PHP是世界上最好的语言!!

[LitCTF 2023]PHP是世界上最好的语言&#xff01;&#xff01; wp 进入页面&#xff0c;发现左边有输入框&#xff0c;下面有 RUN CODE 字样&#xff0c;估计是可以执行命令的。 执行 PHP 代码测试 <?php print(1); ?>将 PHP 一句话木马写入文件 为了蚁剑能连上&am…

通过几个基本概念说一下为什么openGauss是当下之选?

Database、Schema、User都是数据库的基本概念&#xff0c;SQL标准中也有明确规范。但不同数据库的具体实现也不尽相同&#xff0c;有些甚至大相径庭。这就导致用户在做国产化选型和数据库迁移时可能会遇到种种困难。本文从这几个基本概念展开&#xff0c;说说为什么openGauss系…

uniapp实战 -- 个人信息维护(含选择图片 uni.chooseMedia,上传文件 uni.uploadFile,获取和更新表单数据)

效果预览 相关代码 页面–我的 src\pages\my\my.vue <!-- 个人资料 --><view class"profile" :style"{ paddingTop: safeAreaInsets!.top px }"><!-- 情况1&#xff1a;已登录 --><view class"overview" v-if"membe…

docker数据卷数据卷容器

前言 今天调休在家&#xff0c;随便玩玩&#xff0c;简单做下学习记录 1. 数据卷特点 数据卷在容器启动时初始化&#xff0c;如果容器使用的镜像在挂载点包含了数据&#xff0c;这些数据会被拷贝到新初始化的数据卷中数据卷可以在容器之间共享和重用可以对数据卷里的内容直接…

【Linux】编辑、查看和搜索文件

大多数 Linux 发行版不包含真正的 vi;而是自带一款高级替代版本&#xff0c;叫做 vim(它是“vi improved”的简写)由 Bram Moolenaar 开发的&#xff0c;vim 相对于传统的 Unix vi 来说&#xff0c;取得了实质性进步。 启动和退出 vim 使用vim可以启动&#xff0c;如命令行输…

电脑文件msvcp140.dll丢失该怎么解决?靠谱的msvcp140.dll修复方法

面对计算机系统报告的msvcp140.dll文件丢失警报&#xff0c;这个问题可能会阻碍依赖此特定动态链接库(DLL)的一些程序的正常启动和运行。解决msvcp140.dll文件丢失的问题对于保障相关应用程序能够无障碍操作非常关键&#xff0c;并且这还是确保计算机系统保持高效稳定运行的必要…

华为gre隧道全部跑静态路由

最终实现&#xff1a; 1、pc1能用nat上网ping能pc3 2、pc1能通过gre访问pc2 3、全部用静态路由做&#xff0c;没有用ospf&#xff0c;如果要用ospf&#xff0c;那么两边除了路由器上跑ospf&#xff0c;核心交换机也得用ospf r2配置&#xff1a; acl number 3000 rule 5 deny…

Java设计模式之单例模式以及如何防止通过反射破坏单例模式

单例模式 单例模式使用场景 ​ 什么是单例模式&#xff1f;保障一个类只能有一个对象&#xff08;实例&#xff09;的代码开发模式就叫单例模式 ​ 什么时候使用&#xff1f; 工具类&#xff01;&#xff08;一种做法&#xff0c;所有的方法都是static&#xff0c;还有一种单…

Notepad++如果同一个窗口,打开了很多文件,需另开一个窗口

如果一个窗口已经这么多了&#xff0c;需要另外再一个 这里打开

效果图云渲染是什么意思?如何渲染出照片级别的效果图?

​在当前的建筑规划、室内装修以及电影视效制作等行业内&#xff0c;制作高质量的效果图起着至关重要的作用&#xff0c;因为它能够给予观众或客户极为逼真和吸引人的视觉体验。在此篇文章中&#xff0c;我们将深入了解什么是云端效果图渲染&#xff0c;并探讨如何运用Renderbu…

C#中如何稳定精确地每隔5ms执行某个函数?

C#中如何稳定精确地每隔5ms执行某个函数&#xff1f; 在开始前我有一些资料&#xff0c;是我根据自己从业十年经验&#xff0c;熬夜搞了几个通宵&#xff0c;精心整理了一份「C#的资料从专业入门到高级教程工具包」&#xff0c;点个关注&#xff0c;全部无偿共享给大家&#xf…