扩散模型会成为深度学习的下一个前沿领域吗?

news2024/10/6 14:34:37

文章目录

  • 一、说明
  • 二、 第 1 部分:了解扩散模型
    • 2.1 什么是扩散模型
    • 2.2 正向扩散
    • 2.3 反向扩散
  • 三、他们的高成本
  • 四、扩散模型的用处
  • 五、为什么扩散模型如此出色
  • 六、第 2 部分:使用扩散模型生成
    • 6.1 用于自然语言处理和 LLM 的文本扩散
    • 6.2 音频+视频生成
    • 6.3 时态数据建模
  • 七、后记

关键词:Diffusion Models

一、说明

谷歌的 AlphaFold 3 因其彻底改变生物技术的潜力而受到广泛关注。与以前的方法相比,导致其性能提升的关键创新之一是它利用了扩散模型。AlphaFold 3 的功能来自其下一代架构和训练,现在涵盖了所有生命分子。该模型的核心是我们的 Evoformer 模块的改进版本——一种深度学习架构,支撑了 AlphaFold 2 令人难以置信的性能。在处理输入后,AlphaFold 3 使用扩散网络组装其预测,类似于 AI 图像生成器中的预测。扩散过程从一团原子开始,经过许多步骤,汇聚到其最终的、最准确的分子结构上。

AlphaFold 3 对分子相互作用的预测超过了所有现有系统的准确性。作为一个以整体方式计算整个分子复合物的单一模型,它能够独特地统一科学见解。

在我们等待最终出版物的同时,我认为这将是研究扩散模型以及它们如何在几个不同领域突破界限的好时机。

本文主要分为两个“部分”。第一部分介绍了 Diffusion 的背景——

什么是机器学习中的扩散模型:扩散模型是生成模型(它们生成的数据与训练的数据相似)。 扩散模型遵循 2 个简单的步骤。首先,我们通过增量添加高斯噪声来破坏训练数据。训练包括通过逆转这个嘈杂的过程来恢复数据。一个训练有素的扩散模型可以从随机噪声池中创建我们想要的任何东西。用嵌入空间代替噪音,你可能会明白我们为什么在这里做饭。

在这里插入图片描述

  • DM的优点: 扩散模型具有 3 个主要优势,使其成为基于生成的任务的有力竞争者 - 高质量生成:扩散模型生成的数据具有卓越的质量和真实性,在许多任务中超越了以前的生成模型;多面性:它们适用于广泛的数据模态,包括图像、音频、分子等;和可控性:扩散模型提供对生成过程的一定程度的控制,允许用户根据特定要求或条件指导输出。
  • 扩散模型的缺点- 从他们的设计中可以明显看出,DM 非常昂贵。有研究可以降低他们的成本,但这仍然是DM的痛点。
  • 为什么扩散模型效果很好(我的推测)- 就其本质而言,扩散模型经过训练,可以在每个推理步骤中全面查看数据点。与 GAN 等生成器相比,Diffusion 可以分多个步骤创建输出,从而为我们提供更精细的控制(想想一次性完成任何复杂的事情是多么困难)。与自动回归(由 ChatGPT 等 LLM 使用)相比,DM 具有更大的灵活性。最后,噪声和去噪过程起着与强数据增强类似的作用,其中模型被迫为特征建立更深层次的关系。我们还可以很好地将扩散模型与其他模型链接起来,从而产生非常酷的应用程序
    在这里插入图片描述
    第 2 部分介绍了多个领域的扩散模型,以展示扩散模型的通用性。这些包括-

图像生成和处理: 这就是他们出名的原因。扩散模型在与图像相关的任务中表现出色,因为它们能够学习自然图像的复杂分布。通过逐渐去噪随机噪声,它们生成的图像具有出色的保真度和多样性,使其成为创意应用和图像恢复任务的理想选择。还有一些非常令人兴奋的研究使用扩散模型来重建医学图像。我们将涵盖所有这些内容。
音频生成和处理: 扩散模型的顺序特性使其非常适合音频生成和处理。它们可以捕获音频数据中的时间依赖关系,从而实现逼真的高质量音频合成和增强。我们也可以将两者结合起来做视频生成。
分子设计和药物发现: 扩散模型通过轻松驾驭广阔的化学空间,为分子设计提供了一种新颖的方法。他们可以学习分子结构中的潜在模式,从而能够生成具有所需特性的分子,用于制药和材料科学应用。
语言模型: 我创作这篇文章的灵感之一,Diffusion 在 NLP 和文本生成方面显示出一些前景。文本扩散可能是 LLM 的下一个前沿领域,至少对于特定类型的任务而言是这样。我们将在本文后面讨论基于自回归与扩散的文本生成的细节。
时态数据建模:扩散模型擅长处理时间序列等顺序数据。它们可以填补缺失的数据点(插补)、预测未来值(预测)并生成逼真的音频波形(波形信号处理)。
稳健的学习:扩散模型有助于构建更强大的人工智能系统。它们可以“净化”被对抗性攻击破坏的图像,消除恶意噪音并恢复原始图像。这有助于使 AI 模型更能抵御操纵。
本文的其余部分将更详细地探讨这些想法。当我们深入研究这些想法(尤其是第 2 部分)时,我觉得有必要强调一点。我的文章没有声称学术上受人尊敬或中立。像 Diffusion 这样的技术有大量的用法和相关论文可供参考。本文不是对该技术的全面概述。我与几位专家进行了交谈,查看了不同的出版物,选择了我认为最有趣/最有用的出版物,并根据它们进行写作/实验。 我错过或选择跳过了很多用例/出版物。进行研究以评估其对您的特定用例的效用。这篇文章(我的所有作品)旨在作为你自己探索这个主题的基础,而不是你问题的最终答案。
在这里插入图片描述
扩散比很多人意识到的要深得多。

7BBV — 酶:AlphaFold 3 对具有酶蛋白(蓝色)、离子(黄色球体)和单糖(黄色)以及真实结构(灰色)的分子复合物的预测。这种酶存在于土壤传播的真菌(黄萎病菌)中,这种真菌会损害多种植物。深入了解这种酶如何与植物细胞相互作用可以帮助研究人员开发更健康、更有弹性的作物。

二、 第 1 部分:了解扩散模型

如果您了解扩散模型,请跳过此部分(或向下滚动到相关小节)

2.1 什么是扩散模型

正如我们所讨论的,扩散模型基于噪声和去噪输入。虽然细节各不相同,但我们可以将基于扩散的生成归结为两个步骤——

2.2 正向扩散

我们获取数据样本,如图像,并在每一步迭代添加少量高斯噪声。这会慢慢破坏图像,直到它变成无法识别的噪点。该模型学习每一步添加的噪声模式。这对于反向过程至关重要。

在这里插入图片描述

2.3 反向扩散

我们从步骤 1 中的纯噪声开始作为输入。该模型预测前向过程中每一步添加的噪声并将其消除。这会逐渐对输入进行降噪,逐渐将其转换为有意义的数据样本。
在这里插入图片描述
冒着过于简单化的风险,我们将从这里开始。Diffusion 有很多重要的数学细节隐藏在细节中,但我认为讨论如何/为什么使用 Diffusion 来解决各种挑战更为重要。我也没有任何有见地的评论可以添加到数学/推导中。如果您对此感兴趣,请参阅 Weng 的上述文章或查看 Assembly AI 的这篇文章。
在这里插入图片描述

训练扩散模型以对 2D 瑞士轧辊数据进行建模的示例。(图片来源:Sohl-Dickstein et al., 2015)

现在,我们进入下一节。当存在其他技术时,为什么要使用扩散模型(正如您可能想象的那样,它们可能非常昂贵)?有两种方法可以回答这个问题。首先,我们将讨论为什么 DM 是好的。然后,我将推测为什么扩散比技术更有优势。

三、他们的高成本

生成过程的迭代性质涉及许多去噪步骤,需要大量的计算能力和时间,尤其是对于高分辨率数据。这使得它们对于实时应用程序或资源受限的环境不太实用,并且是一个巨大的障碍。

​为了提高DM的效率,研究人员正在探索几种途径。优化的采样技术旨在减少去噪步骤的数量,同时保持样品质量。这包括采用更智能的离散化方案,开发专为扩散量身定制的常微分方程/SDE 求解器,以及利用知识蒸馏来训练更快的采样器。

此外,探索潜在空间扩散可以通过在数据的低维表示中执行扩散过程来显着减轻计算负担。
在这里插入图片描述
最后,将 DM 与其他技术(如压缩和其他生成器)相结合以提高效率总是好的。

四、扩散模型的用处

从本质上讲,整个扩散过程为我们提供了三个优势

高品质一代:扩散模型生成的数据具有卓越的质量和真实性,在许多任务中通常超过以前的生成模型。这源于他们通过迭代去噪过程以精细方式学习底层数据分布的能力。从纯噪声到连贯数据样本的缓慢而稳定的细化产生了高度逼真的输出。
在这里插入图片描述

  • 多面性:扩散模型非常灵活,可以应用于各种数据模式,包括图像、音频、分子等。这种多功能性来自模型处理噪声的核心机制,这一概念可以应用于任何以数字方式表示的数据类型。无论是图像中的像素、声波中的振幅还是分子中的原子,扩散模型都可以学习生成和操纵它们。扩散也可以塑造成不同的用例。
  • 分步控制:扩散模型中的分步生成过程使用户能够更好地控制最终输出。与一次性产生输出的传统生成模型不同,扩散模型将生成的数据从噪声逐步细化为最终样本。这为我们提供了更大的透明度,并能够跳到中间,在新的方向上进行实验。
    好的,但为什么 DM 能像它们一样好用呢?我找不到任何具体的理论解释,所以让我们做一些理论制作。

五、为什么扩散模型如此出色

以复杂的生成任务为例,例如撰写本文。像 GAN 这样的传统生成器一次性生成所有内容。随着复杂性的增加,这变得非常困难。想想看,在画布上扔一次颜料来画一个详细的场景是多么困难。这基本上就是GAN的作用。如果你读过 JJK(你绝对应该),这与 Sukuna’s Domain 的整个“给别人水而不给他们瓶子”的解释非常相似。
这就是为什么现代文本生成器基于自动回归的原因。AR 的扩展性要好得多,这使我们的模型能够处理更复杂的任务。由于 AR 是一步一步来的,你也有能力中途停止生成或将其带入一个新的方向。这是自回归相对于传统生成器的两个优势。然而,AR模型可能会迷失在他们的酱汁中(我相信我们都有过这样的经历)。回到我们的文章示例 - 如果不非常清楚地了解您想要做什么,就很难仅使用自动完成来写出好文章。纯 AR 也会迅速退化,我们无法返回并编辑以前生成的组件(如果我逐字逐句地写一篇文章,那么我无法回到之前的段落进行重组)。

扩散具有与 AR 相同的分步优势,但有所不同。由于我们在每个时间步都对整个输入进行降噪/输入,因此 Diffusion 使我们能够更加符合上下文。这是最接近我的写作方式。我通常对我想涵盖的内容有一个模糊的想法,随着我写得更多,这个想法会越来越完善。在每一步中,我都可能会返回并修复一个更早的组件。这使得最终结果更具凝聚力。

抛开所有这些背景,让我们终于开始研究扩散模型在各种情况下的使用。

这种方法使我们能够快速学习、采样和评估具有数千层或时间步长的深度生成模型中的概率,以及在学习模型下计算条件和后验概率。

  • 使用非平衡热力学的深度无监督学习。 有趣的事实 - 物理学是扩散模型的灵感来源。 不要只研究人工智能/技术论文。 拳击你的知识只会伤害你。

六、第 2 部分:使用扩散模型生成

视觉相关任务
注意:我将在特定的图像生成/视频中省略很多细节。视觉扩散是一个巨大的领域,我将把它们分组到一般家庭中。自己看看 deets。

SDEdit 不需要针对特定任务的训练或反转,可以自然地实现真实感和忠实度之间的平衡。SDEdit 在真实度方面明显优于最先进的基于 GAN 的方法,在真实度方面高达 98.09%,在总体满意度得分方面高达 91.72%

-SDEdit:使用随机微分方程进行引导式图像合成和编辑

扩散模型显示出惊人的原始生成能力——
在这里插入图片描述
与以前的SOTA模型相比,RPG [318]在生成的图像中表现出更出色的表达复杂和组合文本提示的能力(彩色文本表示关键部分)。

但他们可以超越这一点来帮助完成以下任务——

  • 超分辨率:提高低分辨率图像的分辨率以创建更高分辨率的版本。SR3 和 CDM 等扩散模型通过迭代去噪逐渐细化图像,从而实现高质量的放大。我们之前分享了一个例子(戴帽子的猪)。
  • 编辑:扩散不仅可以用于填充图像的缺失或损坏部分。它可用于在特定部分中填写全新的部分。
    在这里插入图片描述
    来自 GLIDE 的文本条件图像修复示例。绿色区域将被擦除,模型会根据给定的提示填充它。我们的模型能够匹配周围环境的风格和照明,以产生逼真的完成。

生成式预训练:基于扩散的模型可能非常适合相关的视觉模型。
点云完成和生成:点云是对象的 3D 表示。扩散模型有助于生成和完成。“Luo et al. 2021 [173] 采取了将点云视为热力学系统中的粒子的方法,使用热浴来促进从原始分布扩散到噪声分布。同时,点体素扩散(PVD)模型[346]将去噪扩散模型与3D形状的点体素表示相结合。点扩散-细化(PDR)模型[178]使用条件DDPM从部分观测值生成粗略完成;它还在生成的点云和地面实况之间建立了逐点映射。
医学影像重建- 医学图像的获取成本很高。它们更难注释,因为只有专业人士才能做到这一点。(尽管你很爱我,但你可能不希望我看你的X光片来告诉你你的骨骼是否状况良好)。DM在重建医学图像方面显示出巨大的前景。
稳健的学习: 扩散模型可用于通过添加噪声和重建干净版本来净化对抗性示例,从而减轻对抗性扰动的影响。 我们还可以基于扩散的预处理步骤来增强模型对对抗性攻击的鲁棒性。
在这里插入图片描述
异常检测: 扩散模型可用于识别图像中不寻常或意外的模式。“这些方法可能比基于对抗性训练的替代方案表现更好,因为它们可以通过有效的采样和稳定的训练方案更好地对较小的数据集进行建模。
在这里插入图片描述

6.1 用于自然语言处理和 LLM 的文本扩散

我一直在为一些客户研究很多大型上下文长度的 RAG,这时我遇到了“文本扩散模型的迁移学习”。本报告希望“看看是否可以通过我们称之为’AR2Diff’'的轻量级适应程序将预训练的AR模型转换为文本扩散模型”。
在这里插入图片描述
我们的 AR2Diff 方法的图示。1)使用因果注意预训练AR解码器。2) 继续预训练作为具有双向注意力的扩散模型。3)在最终任务上微调为扩散模型

虽然文本扩散在机器翻译中落后,但它在代码合成和问答方面显示出前景,甚至优于自回归模型。这些发现表明,对于长文本来说,文本扩散速度更快,值得进一步探索。
在这里插入图片描述
各种模型在三个任务和三种大小中的性能,比较:(i) AR 基线,(ii) 扩散基线,以及 (iii) AR2Diff 模型,这些模型通过扩散训练调整预训练 AR 基线 N 步,然后使用扩散进行微调,N ∈ {0, 10K, 100K}。

Microsoft的GENIE在论文“Text generation with diffusion language models: a pre-training approach with continuous paragraph denoise”中介绍,是另一个有趣的LLM扩散示例。

GENIE是一个大规模的预训练扩散语言模型,由编码器和基于扩散的解码器组成,可以通过将随机噪声序列逐渐转换为连贯的文本序列来生成文本。…我们的实验结果表明,GENIE在这些基准测试上实现了与最先进的自回归模型相当的性能,并生成了更多样化的文本样本。

我不知道是不是只有我一个人,但 Text Diffusion 似乎充当了基于黑白编码器和解码器的桥接 LM。这就是为什么我对他们的潜力感到特别兴奋。

6.2 音频+视频生成

许多高质量的音频和视频发生器也依赖于扩散模型。DM在文本音频生成方面掀起了波澜:“Grad-TTS [215]提出了一种新颖的文本到语音模型,具有基于分数的解码器和扩散模型。它逐渐变换编码器预测的噪声,并通过单调对齐搜索方法进一步与文本输入对齐[219]。Grad-TTS2 [136] 以自适应方式改进了 Grad-TTS。Diffsound [310] 提出了一种基于离散扩散模型 [6, 254] 的非自回归解码器,该解码器预测每个步骤中的所有 mel-spectrogram 标记,然后在以下步骤中细化预测标记。EdiTTS [267] 利用基于分数的文本转语音模型来完善经过粗略修改的 mel-spectrogram 先验。ProDiff[109]没有估计数据密度的梯度,而是通过直接预测干净的数据来参数化去噪扩散模型。

基于 DM 的视频编辑器也很受欢迎,像 Imagen 这样的大牌非常有名。

6.3 时态数据建模

时间序列插补:对于基于时间序列的数据来说,丢失数据可能是一个巨大的威胁。考虑到他们的训练方式,DM 可以处理 TS 的数据插补也就不足为奇了。CSDI公司 利用基于分数的扩散模型,以自我监督的方式进行训练,以捕获时间相关性,以实现有效的时间序列插补。“与现有的基于分数的方法不同,条件扩散模型是针对插补进行明确训练的,可以利用观测值之间的相关性。 在医疗保健和环境数据方面,CSDI 在流行绩效指标上比现有的概率插补方法提高了 40-65%。此外,与最先进的确定性插补方法相比,CSDI的确定性插补可将误差降低5-20%。此外,CSDI还可以应用于时间序列插值和概率预测,并且与现有基线相比具有竞争力。
在这里插入图片描述

时间序列预测:预测时间序列中的未来值,这对于各种预测任务很重要。以 TimeGrad 为例,这是一种自回归模型,它采用扩散概率模型来估计数据分布的梯度。作者表明,这种方法“是一种新的最先进的多变量概率预测方法,适用于具有数千个相关维度的真实世界数据集。

在这里插入图片描述

六个真实世界数据集上模型的测试集 CRPSsum 比较(越低越好)。通过重新训练和评估 10 次获得的 TimeGrad 的平均和标准误差指标。

如您所见,扩散模型不仅仅是简单的图像生成器。它们在材料设计和药物发现方面也有其他用途,但我将在专门针对这些主题的特别文章中介绍它们(我们有专门介绍用于药物发现、芯片设计、材料开发等的人工智能的文章正在开发中)。如果你想让我把它们中的任何一个推到上面,给我发个信息。否则——放轻松,继续工作,我很快就会抓住你们。和平。

七、后记

如果您喜欢这篇文章并希望分享它,请参阅以下指南。
这件作品就是这样。感谢您抽出宝贵时间。与往常一样,如果您有兴趣与我合作或查看我的其他作品,我的链接将位于此电子邮件/帖子的末尾。如果你在这篇文章中发现了价值,我将不胜感激你与更多的人分享。正是像您这样的口碑推荐帮助我成长。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hadoop3:MapReduce源码解读之Map阶段的CombineFileInputFormat切片机制(4)

Job那块的断点代码截图省略,直接进入切片逻辑 参考:Hadoop3:MapReduce源码解读之Map阶段的Job任务提交流程(1) 6、CombineFileInputFormat原理解析 类的继承关系 与TextInputFormat切片机制的区别 框架默认的TextI…

docker构建jdk17镜像

资料参考 参考自黑马教程:10.Docker基础-自定义镜像_哔哩哔哩_bilibili 更多详细语法声明,请参考官网文档:https://docs.docker.com/engine/reference/builder 初步准备 1、下载jdk17包(linux版),我这边版…

问题:在本案复议阶段,复议机关()。 #其他#媒体

问题:在本案复议阶段,复议机关()。 A.有权责令被申请人纠正违法的征税行为 B.应当对被申请人作出的税务具体行政行为所依据的事实证据、法律程序、法律依据及设定权利义务内容的合法性、适当性进行全面审…

暑期来临,AI智能视频分析方案筑牢防溺水安全屏障

随着夏季暑期的来临,未成年人溺水事故频发。传统的防溺水方式往往依赖于人工巡逻和警示标识的设置,但这种方式存在人力不足、反应速度慢等局限性。近年来,随着视频监控智能分析技术的不断发展,其在夏季防溺水中的应用也日益凸显出…

【十二】图解mybatis日志模块之设计模式

图解mybatis日志模块之设计模式 概述 最近经常在思考研发工程师初、中、高级工程师以及系统架构师各个级别的工程师有什么区别,随着年龄增加我们的技术级别也在提升,但是很多人到了高级别反而更加忧虑,因为it行业35岁年龄是个坎这是行业里的共…

Day30 登录界面设计

​ 本章节,实现了登录界面窗口设计 一.准备登录界面图片素材(透明背景图片) 把准备好的图片放在 Images 文件夹下面,格式分别是 .png和 .icoico 图片,右键属性,生成操作选 内容 png 图片,右键属性,生成操作选 资源 选中 login.png图片鼠标右键,选择属性。生成的操作选…

(学习笔记)数据基建-数据安全

(学习笔记)数据基建-数据安全 数据安全数据安全实施难点数据安全保障流程数据安全措施实施阶段数据安全如何量化产出数据安全思考 数据安全 数据安全问题是最近比较热的话题,数据泄漏引发的用户信任危机事件也比比皆是,以及跨部门…

windows架设NTP时间服务器进行时间同步

一、windows架设NTP时间服务器 1.win11更改注册表 winR输入regedit 2.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config,找到Config目录,双击Config目录下的AnnounceFlags,设为5。 3.HKEY_LOCAL_MACHINE\SYSTEM\Current…

Unity + 雷达 粒子互动(待更新)

效果预览: 花海(带移动方向) VFX 实例 脚本示例 使用TouchScript,计算玩家是否移动,且计算移动方向 using System.Collections; using System.Collections.Generic; using TouchScript; using TouchScript.Pointers; using UnityEngine; using UnityEngine.VFX;public …

Java概述 , Java环境安装 , 第一个Hello World

环境变量,HelloWorld 1.会常用的dos命令 2.会安装java所需要的环境(jdk) 3.会配置java的环境变量 4.知道java开发三步骤 5.会java的入门程序(HelloWorld) 6.会三种注释方式 7.知道Java入门程序所需要注意的地方 8.知道println和print的区别第一章 Java概述 1.1 JavaSE体系介绍…

【干货】视频文件抽帧(opencv和ffmpeg方式对比)

1 废话不多说,直接上代码 opencv方式 import time import subprocess import cv2, os from math import ceildef extract_frames_opencv(video_path, output_folder, frame_rate1):"""使用 OpenCV 从视频中抽取每秒指定帧数的帧,并保存到指定文件夹…

关于队列的知识点以及例题讲解

本篇文章将带大家学习队列的相关知识点,并且讲解几道例题,请各位小伙伴耐心观看 队列的概念 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表 遵循原则 先进先出 队列的实现 图解: 代码实…

性能监控工具

性能是任何一款软件都需要关注的重要指标。除了软件的基本功 能,性能可以说是评价软件优劣的最重要的指标之一。我们该如何有 效地监控和诊断性能问题呢?本章基于实践,着重介绍一些针对系统 和Java虚拟机的监控和诊断工具,以帮助读者在实际开…

软件测试——蓝桥杯笔记(自用)

Before和BeforeClass,在测试前,初始化Driver,BeforeClass适用于静态方法 After和AfterClass,在测试后,关闭Driver,AfterClass适用于静态方法 自动化测试记得使用BeforeClass,AfterClass 单元…

Linux应用 sqlite3编程

1、概念 SQLite3是一个轻量级的、自包含的、基于文件的数据库管理系统,常用于移动设备、嵌入式设备和小型应用程序中,应用场景如下: 移动应用程序:由于SQLite3是零配置、无服务器的数据库引擎,非常适合用于移动应用程…

【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)

导航: 本文一些内容需要聚簇索引、非聚簇索引、B树、覆盖索引、索引下推等前置概念,虽然本文有简单回顾,但详细可以参考下文的【MySQL高级篇】 【Java笔记踩坑汇总】Java基础进阶JavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成…

[Cesium]加载GeoJSON并自定义设置符号(以点要素为例)

数据准备: Geoserver发布WFS(Web Feature Service)服务 [GeoServer系列]Shapefile数据发布-CSDN博客 数据加载: 数据准备第二种方式加载数据,利用for循环加载多个图层。首先将获取数据(每获取一次获得pomise,将其加入…

SQL优化系列-快速学会分析SQL执行效率(下)

1 show profile 分析慢查询 有时需要确定 SQL 到底慢在哪个环节,此时 explain 可能不好确定。在 MySQL 数据库中,通过 profile,能够更清楚地了解 SQL 执行过程的资源使用情况,能让我们知道到底慢在哪个环节。 知识扩展&#xff1…

Wireshark 如何查找包含特定数据的数据帧

1、查找包含特定 string 的数据帧 使用如下指令: 双引号中所要查找的字符串 frame contains "xxx" 查找字符串 “heartbeat” 示例: 2、查找包含特定16进制的数据帧 使用如下指令: TCP:在TCP流中查找 tcp contai…

汽车分销商文件流转优化:实现稳定高效的文件分发处理

在汽车圈里,分销商可是个不可或缺的角色。他们既要跟汽车厂家紧紧绑在一起,还得跟下游的销售渠道或者直接跟消费者打成一片,文件来回传递那是家常便饭。 这文件发放的速度快不快,安不安全,直接影响到分销商做事的效率…